/*
 * Copyright Codeplay Software Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use these files except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// DO NOT MODIFY BY HAND
// This file was automatically generated by generate_matmul_tests.py.
// Results calculated using Tensorflow v1.12.0.

#include <gtest/gtest.h>
#include <vector>

#include "test/matmul/fixture.h"
#include "test/types/kernel_data_types.h"
#include "test/types/to_gtest_types.h"

using DataTypeList = sycldnn::types::KernelDataTypes;
using GTestTypeList = sycldnn::types::ToGTestTypes<DataTypeList>::type;

template <typename DataType>
using MatmulBatch3Beta0FalseTrue = MatmulFixture<DataType, false, true>;
TYPED_TEST_SUITE(MatmulBatch3Beta0FalseTrue, GTestTypeList);
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M14xK14xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1015.,    2485.,    3955.,    5425.,    6895.,    8365.,    9835.,
      11305.,   12775.,   14245.,   15715.,   17185.,   18655.,   20125.,
      2485.,    6699.,    10913.,   15127.,   19341.,   23555.,   27769.,
      31983.,   36197.,   40411.,   44625.,   48839.,   53053.,   57267.,
      3955.,    10913.,   17871.,   24829.,   31787.,   38745.,   45703.,
      52661.,   59619.,   66577.,   73535.,   80493.,   87451.,   94409.,
      5425.,    15127.,   24829.,   34531.,   44233.,   53935.,   63637.,
      73339.,   83041.,   92743.,   102445.,  112147.,  121849.,  131551.,
      6895.,    19341.,   31787.,   44233.,   56679.,   69125.,   81571.,
      94017.,   106463.,  118909.,  131355.,  143801.,  156247.,  168693.,
      8365.,    23555.,   38745.,   53935.,   69125.,   84315.,   99505.,
      114695.,  129885.,  145075.,  160265.,  175455.,  190645.,  205835.,
      9835.,    27769.,   45703.,   63637.,   81571.,   99505.,   117439.,
      135373.,  153307.,  171241.,  189175.,  207109.,  225043.,  242977.,
      11305.,   31983.,   52661.,   73339.,   94017.,   114695.,  135373.,
      156051.,  176729.,  197407.,  218085.,  238763.,  259441.,  280119.,
      12775.,   36197.,   59619.,   83041.,   106463.,  129885.,  153307.,
      176729.,  200151.,  223573.,  246995.,  270417.,  293839.,  317261.,
      14245.,   40411.,   66577.,   92743.,   118909.,  145075.,  171241.,
      197407.,  223573.,  249739.,  275905.,  302071.,  328237.,  354403.,
      15715.,   44625.,   73535.,   102445.,  131355.,  160265.,  189175.,
      218085.,  246995.,  275905.,  304815.,  333725.,  362635.,  391545.,
      17185.,   48839.,   80493.,   112147.,  143801.,  175455.,  207109.,
      238763.,  270417.,  302071.,  333725.,  365379.,  397033.,  428687.,
      18655.,   53053.,   87451.,   121849.,  156247.,  190645.,  225043.,
      259441.,  293839.,  328237.,  362635.,  397033.,  431431.,  465829.,
      20125.,   57267.,   94409.,   131551.,  168693.,  205835.,  242977.,
      280119.,  317261.,  354403.,  391545.,  428687.,  465829.,  502971.,
      579999.,  619885.,  659771.,  699657.,  739543.,  779429.,  819315.,
      859201.,  899087.,  938973.,  978859.,  1018745., 1058631., 1098517.,
      619885.,  662515.,  705145.,  747775.,  790405.,  833035.,  875665.,
      918295.,  960925.,  1003555., 1046185., 1088815., 1131445., 1174075.,
      659771.,  705145.,  750519.,  795893.,  841267.,  886641.,  932015.,
      977389.,  1022763., 1068137., 1113511., 1158885., 1204259., 1249633.,
      699657.,  747775.,  795893.,  844011.,  892129.,  940247.,  988365.,
      1036483., 1084601., 1132719., 1180837., 1228955., 1277073., 1325191.,
      739543.,  790405.,  841267.,  892129.,  942991.,  993853.,  1044715.,
      1095577., 1146439., 1197301., 1248163., 1299025., 1349887., 1400749.,
      779429.,  833035.,  886641.,  940247.,  993853.,  1047459., 1101065.,
      1154671., 1208277., 1261883., 1315489., 1369095., 1422701., 1476307.,
      819315.,  875665.,  932015.,  988365.,  1044715., 1101065., 1157415.,
      1213765., 1270115., 1326465., 1382815., 1439165., 1495515., 1551865.,
      859201.,  918295.,  977389.,  1036483., 1095577., 1154671., 1213765.,
      1272859., 1331953., 1391047., 1450141., 1509235., 1568329., 1627423.,
      899087.,  960925.,  1022763., 1084601., 1146439., 1208277., 1270115.,
      1331953., 1393791., 1455629., 1517467., 1579305., 1641143., 1702981.,
      938973.,  1003555., 1068137., 1132719., 1197301., 1261883., 1326465.,
      1391047., 1455629., 1520211., 1584793., 1649375., 1713957., 1778539.,
      978859.,  1046185., 1113511., 1180837., 1248163., 1315489., 1382815.,
      1450141., 1517467., 1584793., 1652119., 1719445., 1786771., 1854097.,
      1018745., 1088815., 1158885., 1228955., 1299025., 1369095., 1439165.,
      1509235., 1579305., 1649375., 1719445., 1789515., 1859585., 1929655.,
      1058631., 1131445., 1204259., 1277073., 1349887., 1422701., 1495515.,
      1568329., 1641143., 1713957., 1786771., 1859585., 1932399., 2005213.,
      1098517., 1174075., 1249633., 1325191., 1400749., 1476307., 1551865.,
      1627423., 1702981., 1778539., 1854097., 1929655., 2005213., 2080771.,
      2234631., 2312933., 2391235., 2469537., 2547839., 2626141., 2704443.,
      2782745., 2861047., 2939349., 3017651., 3095953., 3174255., 3252557.,
      2312933., 2393979., 2475025., 2556071., 2637117., 2718163., 2799209.,
      2880255., 2961301., 3042347., 3123393., 3204439., 3285485., 3366531.,
      2391235., 2475025., 2558815., 2642605., 2726395., 2810185., 2893975.,
      2977765., 3061555., 3145345., 3229135., 3312925., 3396715., 3480505.,
      2469537., 2556071., 2642605., 2729139., 2815673., 2902207., 2988741.,
      3075275., 3161809., 3248343., 3334877., 3421411., 3507945., 3594479.,
      2547839., 2637117., 2726395., 2815673., 2904951., 2994229., 3083507.,
      3172785., 3262063., 3351341., 3440619., 3529897., 3619175., 3708453.,
      2626141., 2718163., 2810185., 2902207., 2994229., 3086251., 3178273.,
      3270295., 3362317., 3454339., 3546361., 3638383., 3730405., 3822427.,
      2704443., 2799209., 2893975., 2988741., 3083507., 3178273., 3273039.,
      3367805., 3462571., 3557337., 3652103., 3746869., 3841635., 3936401.,
      2782745., 2880255., 2977765., 3075275., 3172785., 3270295., 3367805.,
      3465315., 3562825., 3660335., 3757845., 3855355., 3952865., 4050375.,
      2861047., 2961301., 3061555., 3161809., 3262063., 3362317., 3462571.,
      3562825., 3663079., 3763333., 3863587., 3963841., 4064095., 4164349.,
      2939349., 3042347., 3145345., 3248343., 3351341., 3454339., 3557337.,
      3660335., 3763333., 3866331., 3969329., 4072327., 4175325., 4278323.,
      3017651., 3123393., 3229135., 3334877., 3440619., 3546361., 3652103.,
      3757845., 3863587., 3969329., 4075071., 4180813., 4286555., 4392297.,
      3095953., 3204439., 3312925., 3421411., 3529897., 3638383., 3746869.,
      3855355., 3963841., 4072327., 4180813., 4289299., 4397785., 4506271.,
      3174255., 3285485., 3396715., 3507945., 3619175., 3730405., 3841635.,
      3952865., 4064095., 4175325., 4286555., 4397785., 4509015., 4620245.,
      3252557., 3366531., 3480505., 3594479., 3708453., 3822427., 3936401.,
      4050375., 4164349., 4278323., 4392297., 4506271., 4620245., 4734219.};
  const int batches = 3;
  const int m = 14;
  const int k = 14;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M14xK14xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1015.,    2485.,    3955.,    5425.,    6895.,    8365.,    9835.,
      11305.,   12775.,   14245.,   15715.,   17185.,   18655.,   20125.,
      21595.,   2485.,    6699.,    10913.,   15127.,   19341.,   23555.,
      27769.,   31983.,   36197.,   40411.,   44625.,   48839.,   53053.,
      57267.,   61481.,   3955.,    10913.,   17871.,   24829.,   31787.,
      38745.,   45703.,   52661.,   59619.,   66577.,   73535.,   80493.,
      87451.,   94409.,   101367.,  5425.,    15127.,   24829.,   34531.,
      44233.,   53935.,   63637.,   73339.,   83041.,   92743.,   102445.,
      112147.,  121849.,  131551.,  141253.,  6895.,    19341.,   31787.,
      44233.,   56679.,   69125.,   81571.,   94017.,   106463.,  118909.,
      131355.,  143801.,  156247.,  168693.,  181139.,  8365.,    23555.,
      38745.,   53935.,   69125.,   84315.,   99505.,   114695.,  129885.,
      145075.,  160265.,  175455.,  190645.,  205835.,  221025.,  9835.,
      27769.,   45703.,   63637.,   81571.,   99505.,   117439.,  135373.,
      153307.,  171241.,  189175.,  207109.,  225043.,  242977.,  260911.,
      11305.,   31983.,   52661.,   73339.,   94017.,   114695.,  135373.,
      156051.,  176729.,  197407.,  218085.,  238763.,  259441.,  280119.,
      300797.,  12775.,   36197.,   59619.,   83041.,   106463.,  129885.,
      153307.,  176729.,  200151.,  223573.,  246995.,  270417.,  293839.,
      317261.,  340683.,  14245.,   40411.,   66577.,   92743.,   118909.,
      145075.,  171241.,  197407.,  223573.,  249739.,  275905.,  302071.,
      328237.,  354403.,  380569.,  15715.,   44625.,   73535.,   102445.,
      131355.,  160265.,  189175.,  218085.,  246995.,  275905.,  304815.,
      333725.,  362635.,  391545.,  420455.,  17185.,   48839.,   80493.,
      112147.,  143801.,  175455.,  207109.,  238763.,  270417.,  302071.,
      333725.,  365379.,  397033.,  428687.,  460341.,  18655.,   53053.,
      87451.,   121849.,  156247.,  190645.,  225043.,  259441.,  293839.,
      328237.,  362635.,  397033.,  431431.,  465829.,  500227.,  20125.,
      57267.,   94409.,   131551.,  168693.,  205835.,  242977.,  280119.,
      317261.,  354403.,  391545.,  428687.,  465829.,  502971.,  540113.,
      619885.,  659771.,  699657.,  739543.,  779429.,  819315.,  859201.,
      899087.,  938973.,  978859.,  1018745., 1058631., 1098517., 1138403.,
      1178289., 662515.,  705145.,  747775.,  790405.,  833035.,  875665.,
      918295.,  960925.,  1003555., 1046185., 1088815., 1131445., 1174075.,
      1216705., 1259335., 705145.,  750519.,  795893.,  841267.,  886641.,
      932015.,  977389.,  1022763., 1068137., 1113511., 1158885., 1204259.,
      1249633., 1295007., 1340381., 747775.,  795893.,  844011.,  892129.,
      940247.,  988365.,  1036483., 1084601., 1132719., 1180837., 1228955.,
      1277073., 1325191., 1373309., 1421427., 790405.,  841267.,  892129.,
      942991.,  993853.,  1044715., 1095577., 1146439., 1197301., 1248163.,
      1299025., 1349887., 1400749., 1451611., 1502473., 833035.,  886641.,
      940247.,  993853.,  1047459., 1101065., 1154671., 1208277., 1261883.,
      1315489., 1369095., 1422701., 1476307., 1529913., 1583519., 875665.,
      932015.,  988365.,  1044715., 1101065., 1157415., 1213765., 1270115.,
      1326465., 1382815., 1439165., 1495515., 1551865., 1608215., 1664565.,
      918295.,  977389.,  1036483., 1095577., 1154671., 1213765., 1272859.,
      1331953., 1391047., 1450141., 1509235., 1568329., 1627423., 1686517.,
      1745611., 960925.,  1022763., 1084601., 1146439., 1208277., 1270115.,
      1331953., 1393791., 1455629., 1517467., 1579305., 1641143., 1702981.,
      1764819., 1826657., 1003555., 1068137., 1132719., 1197301., 1261883.,
      1326465., 1391047., 1455629., 1520211., 1584793., 1649375., 1713957.,
      1778539., 1843121., 1907703., 1046185., 1113511., 1180837., 1248163.,
      1315489., 1382815., 1450141., 1517467., 1584793., 1652119., 1719445.,
      1786771., 1854097., 1921423., 1988749., 1088815., 1158885., 1228955.,
      1299025., 1369095., 1439165., 1509235., 1579305., 1649375., 1719445.,
      1789515., 1859585., 1929655., 1999725., 2069795., 1131445., 1204259.,
      1277073., 1349887., 1422701., 1495515., 1568329., 1641143., 1713957.,
      1786771., 1859585., 1932399., 2005213., 2078027., 2150841., 1174075.,
      1249633., 1325191., 1400749., 1476307., 1551865., 1627423., 1702981.,
      1778539., 1854097., 1929655., 2005213., 2080771., 2156329., 2231887.,
      2391235., 2469537., 2547839., 2626141., 2704443., 2782745., 2861047.,
      2939349., 3017651., 3095953., 3174255., 3252557., 3330859., 3409161.,
      3487463., 2475025., 2556071., 2637117., 2718163., 2799209., 2880255.,
      2961301., 3042347., 3123393., 3204439., 3285485., 3366531., 3447577.,
      3528623., 3609669., 2558815., 2642605., 2726395., 2810185., 2893975.,
      2977765., 3061555., 3145345., 3229135., 3312925., 3396715., 3480505.,
      3564295., 3648085., 3731875., 2642605., 2729139., 2815673., 2902207.,
      2988741., 3075275., 3161809., 3248343., 3334877., 3421411., 3507945.,
      3594479., 3681013., 3767547., 3854081., 2726395., 2815673., 2904951.,
      2994229., 3083507., 3172785., 3262063., 3351341., 3440619., 3529897.,
      3619175., 3708453., 3797731., 3887009., 3976287., 2810185., 2902207.,
      2994229., 3086251., 3178273., 3270295., 3362317., 3454339., 3546361.,
      3638383., 3730405., 3822427., 3914449., 4006471., 4098493., 2893975.,
      2988741., 3083507., 3178273., 3273039., 3367805., 3462571., 3557337.,
      3652103., 3746869., 3841635., 3936401., 4031167., 4125933., 4220699.,
      2977765., 3075275., 3172785., 3270295., 3367805., 3465315., 3562825.,
      3660335., 3757845., 3855355., 3952865., 4050375., 4147885., 4245395.,
      4342905., 3061555., 3161809., 3262063., 3362317., 3462571., 3562825.,
      3663079., 3763333., 3863587., 3963841., 4064095., 4164349., 4264603.,
      4364857., 4465111., 3145345., 3248343., 3351341., 3454339., 3557337.,
      3660335., 3763333., 3866331., 3969329., 4072327., 4175325., 4278323.,
      4381321., 4484319., 4587317., 3229135., 3334877., 3440619., 3546361.,
      3652103., 3757845., 3863587., 3969329., 4075071., 4180813., 4286555.,
      4392297., 4498039., 4603781., 4709523., 3312925., 3421411., 3529897.,
      3638383., 3746869., 3855355., 3963841., 4072327., 4180813., 4289299.,
      4397785., 4506271., 4614757., 4723243., 4831729., 3396715., 3507945.,
      3619175., 3730405., 3841635., 3952865., 4064095., 4175325., 4286555.,
      4397785., 4509015., 4620245., 4731475., 4842705., 4953935., 3480505.,
      3594479., 3708453., 3822427., 3936401., 4050375., 4164349., 4278323.,
      4392297., 4506271., 4620245., 4734219., 4848193., 4962167., 5076141.};
  const int batches = 3;
  const int m = 14;
  const int k = 14;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M14xK14xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1015.,    2485.,    3955.,    5425.,    6895.,    8365.,    9835.,
      11305.,   12775.,   14245.,   15715.,   17185.,   18655.,   20125.,
      21595.,   23065.,   2485.,    6699.,    10913.,   15127.,   19341.,
      23555.,   27769.,   31983.,   36197.,   40411.,   44625.,   48839.,
      53053.,   57267.,   61481.,   65695.,   3955.,    10913.,   17871.,
      24829.,   31787.,   38745.,   45703.,   52661.,   59619.,   66577.,
      73535.,   80493.,   87451.,   94409.,   101367.,  108325.,  5425.,
      15127.,   24829.,   34531.,   44233.,   53935.,   63637.,   73339.,
      83041.,   92743.,   102445.,  112147.,  121849.,  131551.,  141253.,
      150955.,  6895.,    19341.,   31787.,   44233.,   56679.,   69125.,
      81571.,   94017.,   106463.,  118909.,  131355.,  143801.,  156247.,
      168693.,  181139.,  193585.,  8365.,    23555.,   38745.,   53935.,
      69125.,   84315.,   99505.,   114695.,  129885.,  145075.,  160265.,
      175455.,  190645.,  205835.,  221025.,  236215.,  9835.,    27769.,
      45703.,   63637.,   81571.,   99505.,   117439.,  135373.,  153307.,
      171241.,  189175.,  207109.,  225043.,  242977.,  260911.,  278845.,
      11305.,   31983.,   52661.,   73339.,   94017.,   114695.,  135373.,
      156051.,  176729.,  197407.,  218085.,  238763.,  259441.,  280119.,
      300797.,  321475.,  12775.,   36197.,   59619.,   83041.,   106463.,
      129885.,  153307.,  176729.,  200151.,  223573.,  246995.,  270417.,
      293839.,  317261.,  340683.,  364105.,  14245.,   40411.,   66577.,
      92743.,   118909.,  145075.,  171241.,  197407.,  223573.,  249739.,
      275905.,  302071.,  328237.,  354403.,  380569.,  406735.,  15715.,
      44625.,   73535.,   102445.,  131355.,  160265.,  189175.,  218085.,
      246995.,  275905.,  304815.,  333725.,  362635.,  391545.,  420455.,
      449365.,  17185.,   48839.,   80493.,   112147.,  143801.,  175455.,
      207109.,  238763.,  270417.,  302071.,  333725.,  365379.,  397033.,
      428687.,  460341.,  491995.,  18655.,   53053.,   87451.,   121849.,
      156247.,  190645.,  225043.,  259441.,  293839.,  328237.,  362635.,
      397033.,  431431.,  465829.,  500227.,  534625.,  20125.,   57267.,
      94409.,   131551.,  168693.,  205835.,  242977.,  280119.,  317261.,
      354403.,  391545.,  428687.,  465829.,  502971.,  540113.,  577255.,
      659771.,  699657.,  739543.,  779429.,  819315.,  859201.,  899087.,
      938973.,  978859.,  1018745., 1058631., 1098517., 1138403., 1178289.,
      1218175., 1258061., 705145.,  747775.,  790405.,  833035.,  875665.,
      918295.,  960925.,  1003555., 1046185., 1088815., 1131445., 1174075.,
      1216705., 1259335., 1301965., 1344595., 750519.,  795893.,  841267.,
      886641.,  932015.,  977389.,  1022763., 1068137., 1113511., 1158885.,
      1204259., 1249633., 1295007., 1340381., 1385755., 1431129., 795893.,
      844011.,  892129.,  940247.,  988365.,  1036483., 1084601., 1132719.,
      1180837., 1228955., 1277073., 1325191., 1373309., 1421427., 1469545.,
      1517663., 841267.,  892129.,  942991.,  993853.,  1044715., 1095577.,
      1146439., 1197301., 1248163., 1299025., 1349887., 1400749., 1451611.,
      1502473., 1553335., 1604197., 886641.,  940247.,  993853.,  1047459.,
      1101065., 1154671., 1208277., 1261883., 1315489., 1369095., 1422701.,
      1476307., 1529913., 1583519., 1637125., 1690731., 932015.,  988365.,
      1044715., 1101065., 1157415., 1213765., 1270115., 1326465., 1382815.,
      1439165., 1495515., 1551865., 1608215., 1664565., 1720915., 1777265.,
      977389.,  1036483., 1095577., 1154671., 1213765., 1272859., 1331953.,
      1391047., 1450141., 1509235., 1568329., 1627423., 1686517., 1745611.,
      1804705., 1863799., 1022763., 1084601., 1146439., 1208277., 1270115.,
      1331953., 1393791., 1455629., 1517467., 1579305., 1641143., 1702981.,
      1764819., 1826657., 1888495., 1950333., 1068137., 1132719., 1197301.,
      1261883., 1326465., 1391047., 1455629., 1520211., 1584793., 1649375.,
      1713957., 1778539., 1843121., 1907703., 1972285., 2036867., 1113511.,
      1180837., 1248163., 1315489., 1382815., 1450141., 1517467., 1584793.,
      1652119., 1719445., 1786771., 1854097., 1921423., 1988749., 2056075.,
      2123401., 1158885., 1228955., 1299025., 1369095., 1439165., 1509235.,
      1579305., 1649375., 1719445., 1789515., 1859585., 1929655., 1999725.,
      2069795., 2139865., 2209935., 1204259., 1277073., 1349887., 1422701.,
      1495515., 1568329., 1641143., 1713957., 1786771., 1859585., 1932399.,
      2005213., 2078027., 2150841., 2223655., 2296469., 1249633., 1325191.,
      1400749., 1476307., 1551865., 1627423., 1702981., 1778539., 1854097.,
      1929655., 2005213., 2080771., 2156329., 2231887., 2307445., 2383003.,
      2547839., 2626141., 2704443., 2782745., 2861047., 2939349., 3017651.,
      3095953., 3174255., 3252557., 3330859., 3409161., 3487463., 3565765.,
      3644067., 3722369., 2637117., 2718163., 2799209., 2880255., 2961301.,
      3042347., 3123393., 3204439., 3285485., 3366531., 3447577., 3528623.,
      3609669., 3690715., 3771761., 3852807., 2726395., 2810185., 2893975.,
      2977765., 3061555., 3145345., 3229135., 3312925., 3396715., 3480505.,
      3564295., 3648085., 3731875., 3815665., 3899455., 3983245., 2815673.,
      2902207., 2988741., 3075275., 3161809., 3248343., 3334877., 3421411.,
      3507945., 3594479., 3681013., 3767547., 3854081., 3940615., 4027149.,
      4113683., 2904951., 2994229., 3083507., 3172785., 3262063., 3351341.,
      3440619., 3529897., 3619175., 3708453., 3797731., 3887009., 3976287.,
      4065565., 4154843., 4244121., 2994229., 3086251., 3178273., 3270295.,
      3362317., 3454339., 3546361., 3638383., 3730405., 3822427., 3914449.,
      4006471., 4098493., 4190515., 4282537., 4374559., 3083507., 3178273.,
      3273039., 3367805., 3462571., 3557337., 3652103., 3746869., 3841635.,
      3936401., 4031167., 4125933., 4220699., 4315465., 4410231., 4504997.,
      3172785., 3270295., 3367805., 3465315., 3562825., 3660335., 3757845.,
      3855355., 3952865., 4050375., 4147885., 4245395., 4342905., 4440415.,
      4537925., 4635435., 3262063., 3362317., 3462571., 3562825., 3663079.,
      3763333., 3863587., 3963841., 4064095., 4164349., 4264603., 4364857.,
      4465111., 4565365., 4665619., 4765873., 3351341., 3454339., 3557337.,
      3660335., 3763333., 3866331., 3969329., 4072327., 4175325., 4278323.,
      4381321., 4484319., 4587317., 4690315., 4793313., 4896311., 3440619.,
      3546361., 3652103., 3757845., 3863587., 3969329., 4075071., 4180813.,
      4286555., 4392297., 4498039., 4603781., 4709523., 4815265., 4921007.,
      5026749., 3529897., 3638383., 3746869., 3855355., 3963841., 4072327.,
      4180813., 4289299., 4397785., 4506271., 4614757., 4723243., 4831729.,
      4940215., 5048701., 5157187., 3619175., 3730405., 3841635., 3952865.,
      4064095., 4175325., 4286555., 4397785., 4509015., 4620245., 4731475.,
      4842705., 4953935., 5065165., 5176395., 5287625., 3708453., 3822427.,
      3936401., 4050375., 4164349., 4278323., 4392297., 4506271., 4620245.,
      4734219., 4848193., 4962167., 5076141., 5190115., 5304089., 5418063.};
  const int batches = 3;
  const int m = 14;
  const int k = 14;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M14xK15xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1240.,    3040.,    4840.,    6640.,    8440.,    10240.,   12040.,
      13840.,   15640.,   17440.,   19240.,   21040.,   22840.,   24640.,
      3040.,    8215.,    13390.,   18565.,   23740.,   28915.,   34090.,
      39265.,   44440.,   49615.,   54790.,   59965.,   65140.,   70315.,
      4840.,    13390.,   21940.,   30490.,   39040.,   47590.,   56140.,
      64690.,   73240.,   81790.,   90340.,   98890.,   107440.,  115990.,
      6640.,    18565.,   30490.,   42415.,   54340.,   66265.,   78190.,
      90115.,   102040.,  113965.,  125890.,  137815.,  149740.,  161665.,
      8440.,    23740.,   39040.,   54340.,   69640.,   84940.,   100240.,
      115540.,  130840.,  146140.,  161440.,  176740.,  192040.,  207340.,
      10240.,   28915.,   47590.,   66265.,   84940.,   103615.,  122290.,
      140965.,  159640.,  178315.,  196990.,  215665.,  234340.,  253015.,
      12040.,   34090.,   56140.,   78190.,   100240.,  122290.,  144340.,
      166390.,  188440.,  210490.,  232540.,  254590.,  276640.,  298690.,
      13840.,   39265.,   64690.,   90115.,   115540.,  140965.,  166390.,
      191815.,  217240.,  242665.,  268090.,  293515.,  318940.,  344365.,
      15640.,   44440.,   73240.,   102040.,  130840.,  159640.,  188440.,
      217240.,  246040.,  274840.,  303640.,  332440.,  361240.,  390040.,
      17440.,   49615.,   81790.,   113965.,  146140.,  178315.,  210490.,
      242665.,  274840.,  307015.,  339190.,  371365.,  403540.,  435715.,
      19240.,   54790.,   90340.,   125890.,  161440.,  196990.,  232540.,
      268090.,  303640.,  339190.,  374740.,  410290.,  445840.,  481390.,
      21040.,   59965.,   98890.,   137815.,  176740.,  215665.,  254590.,
      293515.,  332440.,  371365.,  410290.,  449215.,  488140.,  527065.,
      22840.,   65140.,   107440.,  149740.,  192040.,  234340.,  276640.,
      318940.,  361240.,  403540.,  445840.,  488140.,  530440.,  572740.,
      24640.,   70315.,   115990.,  161665.,  207340.,  253015.,  298690.,
      344365.,  390040.,  435715.,  481390.,  527065.,  572740.,  618415.,
      713140.,  762190.,  811240.,  860290.,  909340.,  958390.,  1007440.,
      1056490., 1105540., 1154590., 1203640., 1252690., 1301740., 1350790.,
      762190.,  814615.,  867040.,  919465.,  971890.,  1024315., 1076740.,
      1129165., 1181590., 1234015., 1286440., 1338865., 1391290., 1443715.,
      811240.,  867040.,  922840.,  978640.,  1034440., 1090240., 1146040.,
      1201840., 1257640., 1313440., 1369240., 1425040., 1480840., 1536640.,
      860290.,  919465.,  978640.,  1037815., 1096990., 1156165., 1215340.,
      1274515., 1333690., 1392865., 1452040., 1511215., 1570390., 1629565.,
      909340.,  971890.,  1034440., 1096990., 1159540., 1222090., 1284640.,
      1347190., 1409740., 1472290., 1534840., 1597390., 1659940., 1722490.,
      958390.,  1024315., 1090240., 1156165., 1222090., 1288015., 1353940.,
      1419865., 1485790., 1551715., 1617640., 1683565., 1749490., 1815415.,
      1007440., 1076740., 1146040., 1215340., 1284640., 1353940., 1423240.,
      1492540., 1561840., 1631140., 1700440., 1769740., 1839040., 1908340.,
      1056490., 1129165., 1201840., 1274515., 1347190., 1419865., 1492540.,
      1565215., 1637890., 1710565., 1783240., 1855915., 1928590., 2001265.,
      1105540., 1181590., 1257640., 1333690., 1409740., 1485790., 1561840.,
      1637890., 1713940., 1789990., 1866040., 1942090., 2018140., 2094190.,
      1154590., 1234015., 1313440., 1392865., 1472290., 1551715., 1631140.,
      1710565., 1789990., 1869415., 1948840., 2028265., 2107690., 2187115.,
      1203640., 1286440., 1369240., 1452040., 1534840., 1617640., 1700440.,
      1783240., 1866040., 1948840., 2031640., 2114440., 2197240., 2280040.,
      1252690., 1338865., 1425040., 1511215., 1597390., 1683565., 1769740.,
      1855915., 1942090., 2028265., 2114440., 2200615., 2286790., 2372965.,
      1301740., 1391290., 1480840., 1570390., 1659940., 1749490., 1839040.,
      1928590., 2018140., 2107690., 2197240., 2286790., 2376340., 2465890.,
      1350790., 1443715., 1536640., 1629565., 1722490., 1815415., 1908340.,
      2001265., 2094190., 2187115., 2280040., 2372965., 2465890., 2558815.,
      2748040., 2844340., 2940640., 3036940., 3133240., 3229540., 3325840.,
      3422140., 3518440., 3614740., 3711040., 3807340., 3903640., 3999940.,
      2844340., 2944015., 3043690., 3143365., 3243040., 3342715., 3442390.,
      3542065., 3641740., 3741415., 3841090., 3940765., 4040440., 4140115.,
      2940640., 3043690., 3146740., 3249790., 3352840., 3455890., 3558940.,
      3661990., 3765040., 3868090., 3971140., 4074190., 4177240., 4280290.,
      3036940., 3143365., 3249790., 3356215., 3462640., 3569065., 3675490.,
      3781915., 3888340., 3994765., 4101190., 4207615., 4314040., 4420465.,
      3133240., 3243040., 3352840., 3462640., 3572440., 3682240., 3792040.,
      3901840., 4011640., 4121440., 4231240., 4341040., 4450840., 4560640.,
      3229540., 3342715., 3455890., 3569065., 3682240., 3795415., 3908590.,
      4021765., 4134940., 4248115., 4361290., 4474465., 4587640., 4700815.,
      3325840., 3442390., 3558940., 3675490., 3792040., 3908590., 4025140.,
      4141690., 4258240., 4374790., 4491340., 4607890., 4724440., 4840990.,
      3422140., 3542065., 3661990., 3781915., 3901840., 4021765., 4141690.,
      4261615., 4381540., 4501465., 4621390., 4741315., 4861240., 4981165.,
      3518440., 3641740., 3765040., 3888340., 4011640., 4134940., 4258240.,
      4381540., 4504840., 4628140., 4751440., 4874740., 4998040., 5121340.,
      3614740., 3741415., 3868090., 3994765., 4121440., 4248115., 4374790.,
      4501465., 4628140., 4754815., 4881490., 5008165., 5134840., 5261515.,
      3711040., 3841090., 3971140., 4101190., 4231240., 4361290., 4491340.,
      4621390., 4751440., 4881490., 5011540., 5141590., 5271640., 5401690.,
      3807340., 3940765., 4074190., 4207615., 4341040., 4474465., 4607890.,
      4741315., 4874740., 5008165., 5141590., 5275015., 5408440., 5541865.,
      3903640., 4040440., 4177240., 4314040., 4450840., 4587640., 4724440.,
      4861240., 4998040., 5134840., 5271640., 5408440., 5545240., 5682040.,
      3999940., 4140115., 4280290., 4420465., 4560640., 4700815., 4840990.,
      4981165., 5121340., 5261515., 5401690., 5541865., 5682040., 5822215.};
  const int batches = 3;
  const int m = 14;
  const int k = 15;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M14xK15xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1240.,    3040.,    4840.,    6640.,    8440.,    10240.,   12040.,
      13840.,   15640.,   17440.,   19240.,   21040.,   22840.,   24640.,
      26440.,   3040.,    8215.,    13390.,   18565.,   23740.,   28915.,
      34090.,   39265.,   44440.,   49615.,   54790.,   59965.,   65140.,
      70315.,   75490.,   4840.,    13390.,   21940.,   30490.,   39040.,
      47590.,   56140.,   64690.,   73240.,   81790.,   90340.,   98890.,
      107440.,  115990.,  124540.,  6640.,    18565.,   30490.,   42415.,
      54340.,   66265.,   78190.,   90115.,   102040.,  113965.,  125890.,
      137815.,  149740.,  161665.,  173590.,  8440.,    23740.,   39040.,
      54340.,   69640.,   84940.,   100240.,  115540.,  130840.,  146140.,
      161440.,  176740.,  192040.,  207340.,  222640.,  10240.,   28915.,
      47590.,   66265.,   84940.,   103615.,  122290.,  140965.,  159640.,
      178315.,  196990.,  215665.,  234340.,  253015.,  271690.,  12040.,
      34090.,   56140.,   78190.,   100240.,  122290.,  144340.,  166390.,
      188440.,  210490.,  232540.,  254590.,  276640.,  298690.,  320740.,
      13840.,   39265.,   64690.,   90115.,   115540.,  140965.,  166390.,
      191815.,  217240.,  242665.,  268090.,  293515.,  318940.,  344365.,
      369790.,  15640.,   44440.,   73240.,   102040.,  130840.,  159640.,
      188440.,  217240.,  246040.,  274840.,  303640.,  332440.,  361240.,
      390040.,  418840.,  17440.,   49615.,   81790.,   113965.,  146140.,
      178315.,  210490.,  242665.,  274840.,  307015.,  339190.,  371365.,
      403540.,  435715.,  467890.,  19240.,   54790.,   90340.,   125890.,
      161440.,  196990.,  232540.,  268090.,  303640.,  339190.,  374740.,
      410290.,  445840.,  481390.,  516940.,  21040.,   59965.,   98890.,
      137815.,  176740.,  215665.,  254590.,  293515.,  332440.,  371365.,
      410290.,  449215.,  488140.,  527065.,  565990.,  22840.,   65140.,
      107440.,  149740.,  192040.,  234340.,  276640.,  318940.,  361240.,
      403540.,  445840.,  488140.,  530440.,  572740.,  615040.,  24640.,
      70315.,   115990.,  161665.,  207340.,  253015.,  298690.,  344365.,
      390040.,  435715.,  481390.,  527065.,  572740.,  618415.,  664090.,
      762190.,  811240.,  860290.,  909340.,  958390.,  1007440., 1056490.,
      1105540., 1154590., 1203640., 1252690., 1301740., 1350790., 1399840.,
      1448890., 814615.,  867040.,  919465.,  971890.,  1024315., 1076740.,
      1129165., 1181590., 1234015., 1286440., 1338865., 1391290., 1443715.,
      1496140., 1548565., 867040.,  922840.,  978640.,  1034440., 1090240.,
      1146040., 1201840., 1257640., 1313440., 1369240., 1425040., 1480840.,
      1536640., 1592440., 1648240., 919465.,  978640.,  1037815., 1096990.,
      1156165., 1215340., 1274515., 1333690., 1392865., 1452040., 1511215.,
      1570390., 1629565., 1688740., 1747915., 971890.,  1034440., 1096990.,
      1159540., 1222090., 1284640., 1347190., 1409740., 1472290., 1534840.,
      1597390., 1659940., 1722490., 1785040., 1847590., 1024315., 1090240.,
      1156165., 1222090., 1288015., 1353940., 1419865., 1485790., 1551715.,
      1617640., 1683565., 1749490., 1815415., 1881340., 1947265., 1076740.,
      1146040., 1215340., 1284640., 1353940., 1423240., 1492540., 1561840.,
      1631140., 1700440., 1769740., 1839040., 1908340., 1977640., 2046940.,
      1129165., 1201840., 1274515., 1347190., 1419865., 1492540., 1565215.,
      1637890., 1710565., 1783240., 1855915., 1928590., 2001265., 2073940.,
      2146615., 1181590., 1257640., 1333690., 1409740., 1485790., 1561840.,
      1637890., 1713940., 1789990., 1866040., 1942090., 2018140., 2094190.,
      2170240., 2246290., 1234015., 1313440., 1392865., 1472290., 1551715.,
      1631140., 1710565., 1789990., 1869415., 1948840., 2028265., 2107690.,
      2187115., 2266540., 2345965., 1286440., 1369240., 1452040., 1534840.,
      1617640., 1700440., 1783240., 1866040., 1948840., 2031640., 2114440.,
      2197240., 2280040., 2362840., 2445640., 1338865., 1425040., 1511215.,
      1597390., 1683565., 1769740., 1855915., 1942090., 2028265., 2114440.,
      2200615., 2286790., 2372965., 2459140., 2545315., 1391290., 1480840.,
      1570390., 1659940., 1749490., 1839040., 1928590., 2018140., 2107690.,
      2197240., 2286790., 2376340., 2465890., 2555440., 2644990., 1443715.,
      1536640., 1629565., 1722490., 1815415., 1908340., 2001265., 2094190.,
      2187115., 2280040., 2372965., 2465890., 2558815., 2651740., 2744665.,
      2940640., 3036940., 3133240., 3229540., 3325840., 3422140., 3518440.,
      3614740., 3711040., 3807340., 3903640., 3999940., 4096240., 4192540.,
      4288840., 3043690., 3143365., 3243040., 3342715., 3442390., 3542065.,
      3641740., 3741415., 3841090., 3940765., 4040440., 4140115., 4239790.,
      4339465., 4439140., 3146740., 3249790., 3352840., 3455890., 3558940.,
      3661990., 3765040., 3868090., 3971140., 4074190., 4177240., 4280290.,
      4383340., 4486390., 4589440., 3249790., 3356215., 3462640., 3569065.,
      3675490., 3781915., 3888340., 3994765., 4101190., 4207615., 4314040.,
      4420465., 4526890., 4633315., 4739740., 3352840., 3462640., 3572440.,
      3682240., 3792040., 3901840., 4011640., 4121440., 4231240., 4341040.,
      4450840., 4560640., 4670440., 4780240., 4890040., 3455890., 3569065.,
      3682240., 3795415., 3908590., 4021765., 4134940., 4248115., 4361290.,
      4474465., 4587640., 4700815., 4813990., 4927165., 5040340., 3558940.,
      3675490., 3792040., 3908590., 4025140., 4141690., 4258240., 4374790.,
      4491340., 4607890., 4724440., 4840990., 4957540., 5074090., 5190640.,
      3661990., 3781915., 3901840., 4021765., 4141690., 4261615., 4381540.,
      4501465., 4621390., 4741315., 4861240., 4981165., 5101090., 5221015.,
      5340940., 3765040., 3888340., 4011640., 4134940., 4258240., 4381540.,
      4504840., 4628140., 4751440., 4874740., 4998040., 5121340., 5244640.,
      5367940., 5491240., 3868090., 3994765., 4121440., 4248115., 4374790.,
      4501465., 4628140., 4754815., 4881490., 5008165., 5134840., 5261515.,
      5388190., 5514865., 5641540., 3971140., 4101190., 4231240., 4361290.,
      4491340., 4621390., 4751440., 4881490., 5011540., 5141590., 5271640.,
      5401690., 5531740., 5661790., 5791840., 4074190., 4207615., 4341040.,
      4474465., 4607890., 4741315., 4874740., 5008165., 5141590., 5275015.,
      5408440., 5541865., 5675290., 5808715., 5942140., 4177240., 4314040.,
      4450840., 4587640., 4724440., 4861240., 4998040., 5134840., 5271640.,
      5408440., 5545240., 5682040., 5818840., 5955640., 6092440., 4280290.,
      4420465., 4560640., 4700815., 4840990., 4981165., 5121340., 5261515.,
      5401690., 5541865., 5682040., 5822215., 5962390., 6102565., 6242740.};
  const int batches = 3;
  const int m = 14;
  const int k = 15;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M14xK15xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1240.,    3040.,    4840.,    6640.,    8440.,    10240.,   12040.,
      13840.,   15640.,   17440.,   19240.,   21040.,   22840.,   24640.,
      26440.,   28240.,   3040.,    8215.,    13390.,   18565.,   23740.,
      28915.,   34090.,   39265.,   44440.,   49615.,   54790.,   59965.,
      65140.,   70315.,   75490.,   80665.,   4840.,    13390.,   21940.,
      30490.,   39040.,   47590.,   56140.,   64690.,   73240.,   81790.,
      90340.,   98890.,   107440.,  115990.,  124540.,  133090.,  6640.,
      18565.,   30490.,   42415.,   54340.,   66265.,   78190.,   90115.,
      102040.,  113965.,  125890.,  137815.,  149740.,  161665.,  173590.,
      185515.,  8440.,    23740.,   39040.,   54340.,   69640.,   84940.,
      100240.,  115540.,  130840.,  146140.,  161440.,  176740.,  192040.,
      207340.,  222640.,  237940.,  10240.,   28915.,   47590.,   66265.,
      84940.,   103615.,  122290.,  140965.,  159640.,  178315.,  196990.,
      215665.,  234340.,  253015.,  271690.,  290365.,  12040.,   34090.,
      56140.,   78190.,   100240.,  122290.,  144340.,  166390.,  188440.,
      210490.,  232540.,  254590.,  276640.,  298690.,  320740.,  342790.,
      13840.,   39265.,   64690.,   90115.,   115540.,  140965.,  166390.,
      191815.,  217240.,  242665.,  268090.,  293515.,  318940.,  344365.,
      369790.,  395215.,  15640.,   44440.,   73240.,   102040.,  130840.,
      159640.,  188440.,  217240.,  246040.,  274840.,  303640.,  332440.,
      361240.,  390040.,  418840.,  447640.,  17440.,   49615.,   81790.,
      113965.,  146140.,  178315.,  210490.,  242665.,  274840.,  307015.,
      339190.,  371365.,  403540.,  435715.,  467890.,  500065.,  19240.,
      54790.,   90340.,   125890.,  161440.,  196990.,  232540.,  268090.,
      303640.,  339190.,  374740.,  410290.,  445840.,  481390.,  516940.,
      552490.,  21040.,   59965.,   98890.,   137815.,  176740.,  215665.,
      254590.,  293515.,  332440.,  371365.,  410290.,  449215.,  488140.,
      527065.,  565990.,  604915.,  22840.,   65140.,   107440.,  149740.,
      192040.,  234340.,  276640.,  318940.,  361240.,  403540.,  445840.,
      488140.,  530440.,  572740.,  615040.,  657340.,  24640.,   70315.,
      115990.,  161665.,  207340.,  253015.,  298690.,  344365.,  390040.,
      435715.,  481390.,  527065.,  572740.,  618415.,  664090.,  709765.,
      811240.,  860290.,  909340.,  958390.,  1007440., 1056490., 1105540.,
      1154590., 1203640., 1252690., 1301740., 1350790., 1399840., 1448890.,
      1497940., 1546990., 867040.,  919465.,  971890.,  1024315., 1076740.,
      1129165., 1181590., 1234015., 1286440., 1338865., 1391290., 1443715.,
      1496140., 1548565., 1600990., 1653415., 922840.,  978640.,  1034440.,
      1090240., 1146040., 1201840., 1257640., 1313440., 1369240., 1425040.,
      1480840., 1536640., 1592440., 1648240., 1704040., 1759840., 978640.,
      1037815., 1096990., 1156165., 1215340., 1274515., 1333690., 1392865.,
      1452040., 1511215., 1570390., 1629565., 1688740., 1747915., 1807090.,
      1866265., 1034440., 1096990., 1159540., 1222090., 1284640., 1347190.,
      1409740., 1472290., 1534840., 1597390., 1659940., 1722490., 1785040.,
      1847590., 1910140., 1972690., 1090240., 1156165., 1222090., 1288015.,
      1353940., 1419865., 1485790., 1551715., 1617640., 1683565., 1749490.,
      1815415., 1881340., 1947265., 2013190., 2079115., 1146040., 1215340.,
      1284640., 1353940., 1423240., 1492540., 1561840., 1631140., 1700440.,
      1769740., 1839040., 1908340., 1977640., 2046940., 2116240., 2185540.,
      1201840., 1274515., 1347190., 1419865., 1492540., 1565215., 1637890.,
      1710565., 1783240., 1855915., 1928590., 2001265., 2073940., 2146615.,
      2219290., 2291965., 1257640., 1333690., 1409740., 1485790., 1561840.,
      1637890., 1713940., 1789990., 1866040., 1942090., 2018140., 2094190.,
      2170240., 2246290., 2322340., 2398390., 1313440., 1392865., 1472290.,
      1551715., 1631140., 1710565., 1789990., 1869415., 1948840., 2028265.,
      2107690., 2187115., 2266540., 2345965., 2425390., 2504815., 1369240.,
      1452040., 1534840., 1617640., 1700440., 1783240., 1866040., 1948840.,
      2031640., 2114440., 2197240., 2280040., 2362840., 2445640., 2528440.,
      2611240., 1425040., 1511215., 1597390., 1683565., 1769740., 1855915.,
      1942090., 2028265., 2114440., 2200615., 2286790., 2372965., 2459140.,
      2545315., 2631490., 2717665., 1480840., 1570390., 1659940., 1749490.,
      1839040., 1928590., 2018140., 2107690., 2197240., 2286790., 2376340.,
      2465890., 2555440., 2644990., 2734540., 2824090., 1536640., 1629565.,
      1722490., 1815415., 1908340., 2001265., 2094190., 2187115., 2280040.,
      2372965., 2465890., 2558815., 2651740., 2744665., 2837590., 2930515.,
      3133240., 3229540., 3325840., 3422140., 3518440., 3614740., 3711040.,
      3807340., 3903640., 3999940., 4096240., 4192540., 4288840., 4385140.,
      4481440., 4577740., 3243040., 3342715., 3442390., 3542065., 3641740.,
      3741415., 3841090., 3940765., 4040440., 4140115., 4239790., 4339465.,
      4439140., 4538815., 4638490., 4738165., 3352840., 3455890., 3558940.,
      3661990., 3765040., 3868090., 3971140., 4074190., 4177240., 4280290.,
      4383340., 4486390., 4589440., 4692490., 4795540., 4898590., 3462640.,
      3569065., 3675490., 3781915., 3888340., 3994765., 4101190., 4207615.,
      4314040., 4420465., 4526890., 4633315., 4739740., 4846165., 4952590.,
      5059015., 3572440., 3682240., 3792040., 3901840., 4011640., 4121440.,
      4231240., 4341040., 4450840., 4560640., 4670440., 4780240., 4890040.,
      4999840., 5109640., 5219440., 3682240., 3795415., 3908590., 4021765.,
      4134940., 4248115., 4361290., 4474465., 4587640., 4700815., 4813990.,
      4927165., 5040340., 5153515., 5266690., 5379865., 3792040., 3908590.,
      4025140., 4141690., 4258240., 4374790., 4491340., 4607890., 4724440.,
      4840990., 4957540., 5074090., 5190640., 5307190., 5423740., 5540290.,
      3901840., 4021765., 4141690., 4261615., 4381540., 4501465., 4621390.,
      4741315., 4861240., 4981165., 5101090., 5221015., 5340940., 5460865.,
      5580790., 5700715., 4011640., 4134940., 4258240., 4381540., 4504840.,
      4628140., 4751440., 4874740., 4998040., 5121340., 5244640., 5367940.,
      5491240., 5614540., 5737840., 5861140., 4121440., 4248115., 4374790.,
      4501465., 4628140., 4754815., 4881490., 5008165., 5134840., 5261515.,
      5388190., 5514865., 5641540., 5768215., 5894890., 6021565., 4231240.,
      4361290., 4491340., 4621390., 4751440., 4881490., 5011540., 5141590.,
      5271640., 5401690., 5531740., 5661790., 5791840., 5921890., 6051940.,
      6181990., 4341040., 4474465., 4607890., 4741315., 4874740., 5008165.,
      5141590., 5275015., 5408440., 5541865., 5675290., 5808715., 5942140.,
      6075565., 6208990., 6342415., 4450840., 4587640., 4724440., 4861240.,
      4998040., 5134840., 5271640., 5408440., 5545240., 5682040., 5818840.,
      5955640., 6092440., 6229240., 6366040., 6502840., 4560640., 4700815.,
      4840990., 4981165., 5121340., 5261515., 5401690., 5541865., 5682040.,
      5822215., 5962390., 6102565., 6242740., 6382915., 6523090., 6663265.};
  const int batches = 3;
  const int m = 14;
  const int k = 15;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M14xK16xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1496.,    3672.,    5848.,    8024.,    10200.,   12376.,   14552.,
      16728.,   18904.,   21080.,   23256.,   25432.,   27608.,   29784.,
      3672.,    9944.,    16216.,   22488.,   28760.,   35032.,   41304.,
      47576.,   53848.,   60120.,   66392.,   72664.,   78936.,   85208.,
      5848.,    16216.,   26584.,   36952.,   47320.,   57688.,   68056.,
      78424.,   88792.,   99160.,   109528.,  119896.,  130264.,  140632.,
      8024.,    22488.,   36952.,   51416.,   65880.,   80344.,   94808.,
      109272.,  123736.,  138200.,  152664.,  167128.,  181592.,  196056.,
      10200.,   28760.,   47320.,   65880.,   84440.,   103000.,  121560.,
      140120.,  158680.,  177240.,  195800.,  214360.,  232920.,  251480.,
      12376.,   35032.,   57688.,   80344.,   103000.,  125656.,  148312.,
      170968.,  193624.,  216280.,  238936.,  261592.,  284248.,  306904.,
      14552.,   41304.,   68056.,   94808.,   121560.,  148312.,  175064.,
      201816.,  228568.,  255320.,  282072.,  308824.,  335576.,  362328.,
      16728.,   47576.,   78424.,   109272.,  140120.,  170968.,  201816.,
      232664.,  263512.,  294360.,  325208.,  356056.,  386904.,  417752.,
      18904.,   53848.,   88792.,   123736.,  158680.,  193624.,  228568.,
      263512.,  298456.,  333400.,  368344.,  403288.,  438232.,  473176.,
      21080.,   60120.,   99160.,   138200.,  177240.,  216280.,  255320.,
      294360.,  333400.,  372440.,  411480.,  450520.,  489560.,  528600.,
      23256.,   66392.,   109528.,  152664.,  195800.,  238936.,  282072.,
      325208.,  368344.,  411480.,  454616.,  497752.,  540888.,  584024.,
      25432.,   72664.,   119896.,  167128.,  214360.,  261592.,  308824.,
      356056.,  403288.,  450520.,  497752.,  544984.,  592216.,  639448.,
      27608.,   78936.,   130264.,  181592.,  232920.,  284248.,  335576.,
      386904.,  438232.,  489560.,  540888.,  592216.,  643544.,  694872.,
      29784.,   85208.,   140632.,  196056.,  251480.,  306904.,  362328.,
      417752.,  473176.,  528600.,  584024.,  639448.,  694872.,  750296.,
      865240.,  924760.,  984280.,  1043800., 1103320., 1162840., 1222360.,
      1281880., 1341400., 1400920., 1460440., 1519960., 1579480., 1639000.,
      924760.,  988376.,  1051992., 1115608., 1179224., 1242840., 1306456.,
      1370072., 1433688., 1497304., 1560920., 1624536., 1688152., 1751768.,
      984280.,  1051992., 1119704., 1187416., 1255128., 1322840., 1390552.,
      1458264., 1525976., 1593688., 1661400., 1729112., 1796824., 1864536.,
      1043800., 1115608., 1187416., 1259224., 1331032., 1402840., 1474648.,
      1546456., 1618264., 1690072., 1761880., 1833688., 1905496., 1977304.,
      1103320., 1179224., 1255128., 1331032., 1406936., 1482840., 1558744.,
      1634648., 1710552., 1786456., 1862360., 1938264., 2014168., 2090072.,
      1162840., 1242840., 1322840., 1402840., 1482840., 1562840., 1642840.,
      1722840., 1802840., 1882840., 1962840., 2042840., 2122840., 2202840.,
      1222360., 1306456., 1390552., 1474648., 1558744., 1642840., 1726936.,
      1811032., 1895128., 1979224., 2063320., 2147416., 2231512., 2315608.,
      1281880., 1370072., 1458264., 1546456., 1634648., 1722840., 1811032.,
      1899224., 1987416., 2075608., 2163800., 2251992., 2340184., 2428376.,
      1341400., 1433688., 1525976., 1618264., 1710552., 1802840., 1895128.,
      1987416., 2079704., 2171992., 2264280., 2356568., 2448856., 2541144.,
      1400920., 1497304., 1593688., 1690072., 1786456., 1882840., 1979224.,
      2075608., 2171992., 2268376., 2364760., 2461144., 2557528., 2653912.,
      1460440., 1560920., 1661400., 1761880., 1862360., 1962840., 2063320.,
      2163800., 2264280., 2364760., 2465240., 2565720., 2666200., 2766680.,
      1519960., 1624536., 1729112., 1833688., 1938264., 2042840., 2147416.,
      2251992., 2356568., 2461144., 2565720., 2670296., 2774872., 2879448.,
      1579480., 1688152., 1796824., 1905496., 2014168., 2122840., 2231512.,
      2340184., 2448856., 2557528., 2666200., 2774872., 2883544., 2992216.,
      1639000., 1751768., 1864536., 1977304., 2090072., 2202840., 2315608.,
      2428376., 2541144., 2653912., 2766680., 2879448., 2992216., 3104984.,
      3334616., 3451480., 3568344., 3685208., 3802072., 3918936., 4035800.,
      4152664., 4269528., 4386392., 4503256., 4620120., 4736984., 4853848.,
      3451480., 3572440., 3693400., 3814360., 3935320., 4056280., 4177240.,
      4298200., 4419160., 4540120., 4661080., 4782040., 4903000., 5023960.,
      3568344., 3693400., 3818456., 3943512., 4068568., 4193624., 4318680.,
      4443736., 4568792., 4693848., 4818904., 4943960., 5069016., 5194072.,
      3685208., 3814360., 3943512., 4072664., 4201816., 4330968., 4460120.,
      4589272., 4718424., 4847576., 4976728., 5105880., 5235032., 5364184.,
      3802072., 3935320., 4068568., 4201816., 4335064., 4468312., 4601560.,
      4734808., 4868056., 5001304., 5134552., 5267800., 5401048., 5534296.,
      3918936., 4056280., 4193624., 4330968., 4468312., 4605656., 4743000.,
      4880344., 5017688., 5155032., 5292376., 5429720., 5567064., 5704408.,
      4035800., 4177240., 4318680., 4460120., 4601560., 4743000., 4884440.,
      5025880., 5167320., 5308760., 5450200., 5591640., 5733080., 5874520.,
      4152664., 4298200., 4443736., 4589272., 4734808., 4880344., 5025880.,
      5171416., 5316952., 5462488., 5608024., 5753560., 5899096., 6044632.,
      4269528., 4419160., 4568792., 4718424., 4868056., 5017688., 5167320.,
      5316952., 5466584., 5616216., 5765848., 5915480., 6065112., 6214744.,
      4386392., 4540120., 4693848., 4847576., 5001304., 5155032., 5308760.,
      5462488., 5616216., 5769944., 5923672., 6077400., 6231128., 6384856.,
      4503256., 4661080., 4818904., 4976728., 5134552., 5292376., 5450200.,
      5608024., 5765848., 5923672., 6081496., 6239320., 6397144., 6554968.,
      4620120., 4782040., 4943960., 5105880., 5267800., 5429720., 5591640.,
      5753560., 5915480., 6077400., 6239320., 6401240., 6563160., 6725080.,
      4736984., 4903000., 5069016., 5235032., 5401048., 5567064., 5733080.,
      5899096., 6065112., 6231128., 6397144., 6563160., 6729176., 6895192.,
      4853848., 5023960., 5194072., 5364184., 5534296., 5704408., 5874520.,
      6044632., 6214744., 6384856., 6554968., 6725080., 6895192., 7065304.};
  const int batches = 3;
  const int m = 14;
  const int k = 16;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M14xK16xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1496.,    3672.,    5848.,    8024.,    10200.,   12376.,   14552.,
      16728.,   18904.,   21080.,   23256.,   25432.,   27608.,   29784.,
      31960.,   3672.,    9944.,    16216.,   22488.,   28760.,   35032.,
      41304.,   47576.,   53848.,   60120.,   66392.,   72664.,   78936.,
      85208.,   91480.,   5848.,    16216.,   26584.,   36952.,   47320.,
      57688.,   68056.,   78424.,   88792.,   99160.,   109528.,  119896.,
      130264.,  140632.,  151000.,  8024.,    22488.,   36952.,   51416.,
      65880.,   80344.,   94808.,   109272.,  123736.,  138200.,  152664.,
      167128.,  181592.,  196056.,  210520.,  10200.,   28760.,   47320.,
      65880.,   84440.,   103000.,  121560.,  140120.,  158680.,  177240.,
      195800.,  214360.,  232920.,  251480.,  270040.,  12376.,   35032.,
      57688.,   80344.,   103000.,  125656.,  148312.,  170968.,  193624.,
      216280.,  238936.,  261592.,  284248.,  306904.,  329560.,  14552.,
      41304.,   68056.,   94808.,   121560.,  148312.,  175064.,  201816.,
      228568.,  255320.,  282072.,  308824.,  335576.,  362328.,  389080.,
      16728.,   47576.,   78424.,   109272.,  140120.,  170968.,  201816.,
      232664.,  263512.,  294360.,  325208.,  356056.,  386904.,  417752.,
      448600.,  18904.,   53848.,   88792.,   123736.,  158680.,  193624.,
      228568.,  263512.,  298456.,  333400.,  368344.,  403288.,  438232.,
      473176.,  508120.,  21080.,   60120.,   99160.,   138200.,  177240.,
      216280.,  255320.,  294360.,  333400.,  372440.,  411480.,  450520.,
      489560.,  528600.,  567640.,  23256.,   66392.,   109528.,  152664.,
      195800.,  238936.,  282072.,  325208.,  368344.,  411480.,  454616.,
      497752.,  540888.,  584024.,  627160.,  25432.,   72664.,   119896.,
      167128.,  214360.,  261592.,  308824.,  356056.,  403288.,  450520.,
      497752.,  544984.,  592216.,  639448.,  686680.,  27608.,   78936.,
      130264.,  181592.,  232920.,  284248.,  335576.,  386904.,  438232.,
      489560.,  540888.,  592216.,  643544.,  694872.,  746200.,  29784.,
      85208.,   140632.,  196056.,  251480.,  306904.,  362328.,  417752.,
      473176.,  528600.,  584024.,  639448.,  694872.,  750296.,  805720.,
      924760.,  984280.,  1043800., 1103320., 1162840., 1222360., 1281880.,
      1341400., 1400920., 1460440., 1519960., 1579480., 1639000., 1698520.,
      1758040., 988376.,  1051992., 1115608., 1179224., 1242840., 1306456.,
      1370072., 1433688., 1497304., 1560920., 1624536., 1688152., 1751768.,
      1815384., 1879000., 1051992., 1119704., 1187416., 1255128., 1322840.,
      1390552., 1458264., 1525976., 1593688., 1661400., 1729112., 1796824.,
      1864536., 1932248., 1999960., 1115608., 1187416., 1259224., 1331032.,
      1402840., 1474648., 1546456., 1618264., 1690072., 1761880., 1833688.,
      1905496., 1977304., 2049112., 2120920., 1179224., 1255128., 1331032.,
      1406936., 1482840., 1558744., 1634648., 1710552., 1786456., 1862360.,
      1938264., 2014168., 2090072., 2165976., 2241880., 1242840., 1322840.,
      1402840., 1482840., 1562840., 1642840., 1722840., 1802840., 1882840.,
      1962840., 2042840., 2122840., 2202840., 2282840., 2362840., 1306456.,
      1390552., 1474648., 1558744., 1642840., 1726936., 1811032., 1895128.,
      1979224., 2063320., 2147416., 2231512., 2315608., 2399704., 2483800.,
      1370072., 1458264., 1546456., 1634648., 1722840., 1811032., 1899224.,
      1987416., 2075608., 2163800., 2251992., 2340184., 2428376., 2516568.,
      2604760., 1433688., 1525976., 1618264., 1710552., 1802840., 1895128.,
      1987416., 2079704., 2171992., 2264280., 2356568., 2448856., 2541144.,
      2633432., 2725720., 1497304., 1593688., 1690072., 1786456., 1882840.,
      1979224., 2075608., 2171992., 2268376., 2364760., 2461144., 2557528.,
      2653912., 2750296., 2846680., 1560920., 1661400., 1761880., 1862360.,
      1962840., 2063320., 2163800., 2264280., 2364760., 2465240., 2565720.,
      2666200., 2766680., 2867160., 2967640., 1624536., 1729112., 1833688.,
      1938264., 2042840., 2147416., 2251992., 2356568., 2461144., 2565720.,
      2670296., 2774872., 2879448., 2984024., 3088600., 1688152., 1796824.,
      1905496., 2014168., 2122840., 2231512., 2340184., 2448856., 2557528.,
      2666200., 2774872., 2883544., 2992216., 3100888., 3209560., 1751768.,
      1864536., 1977304., 2090072., 2202840., 2315608., 2428376., 2541144.,
      2653912., 2766680., 2879448., 2992216., 3104984., 3217752., 3330520.,
      3568344., 3685208., 3802072., 3918936., 4035800., 4152664., 4269528.,
      4386392., 4503256., 4620120., 4736984., 4853848., 4970712., 5087576.,
      5204440., 3693400., 3814360., 3935320., 4056280., 4177240., 4298200.,
      4419160., 4540120., 4661080., 4782040., 4903000., 5023960., 5144920.,
      5265880., 5386840., 3818456., 3943512., 4068568., 4193624., 4318680.,
      4443736., 4568792., 4693848., 4818904., 4943960., 5069016., 5194072.,
      5319128., 5444184., 5569240., 3943512., 4072664., 4201816., 4330968.,
      4460120., 4589272., 4718424., 4847576., 4976728., 5105880., 5235032.,
      5364184., 5493336., 5622488., 5751640., 4068568., 4201816., 4335064.,
      4468312., 4601560., 4734808., 4868056., 5001304., 5134552., 5267800.,
      5401048., 5534296., 5667544., 5800792., 5934040., 4193624., 4330968.,
      4468312., 4605656., 4743000., 4880344., 5017688., 5155032., 5292376.,
      5429720., 5567064., 5704408., 5841752., 5979096., 6116440., 4318680.,
      4460120., 4601560., 4743000., 4884440., 5025880., 5167320., 5308760.,
      5450200., 5591640., 5733080., 5874520., 6015960., 6157400., 6298840.,
      4443736., 4589272., 4734808., 4880344., 5025880., 5171416., 5316952.,
      5462488., 5608024., 5753560., 5899096., 6044632., 6190168., 6335704.,
      6481240., 4568792., 4718424., 4868056., 5017688., 5167320., 5316952.,
      5466584., 5616216., 5765848., 5915480., 6065112., 6214744., 6364376.,
      6514008., 6663640., 4693848., 4847576., 5001304., 5155032., 5308760.,
      5462488., 5616216., 5769944., 5923672., 6077400., 6231128., 6384856.,
      6538584., 6692312., 6846040., 4818904., 4976728., 5134552., 5292376.,
      5450200., 5608024., 5765848., 5923672., 6081496., 6239320., 6397144.,
      6554968., 6712792., 6870616., 7028440., 4943960., 5105880., 5267800.,
      5429720., 5591640., 5753560., 5915480., 6077400., 6239320., 6401240.,
      6563160., 6725080., 6887000., 7048920., 7210840., 5069016., 5235032.,
      5401048., 5567064., 5733080., 5899096., 6065112., 6231128., 6397144.,
      6563160., 6729176., 6895192., 7061208., 7227224., 7393240., 5194072.,
      5364184., 5534296., 5704408., 5874520., 6044632., 6214744., 6384856.,
      6554968., 6725080., 6895192., 7065304., 7235416., 7405528., 7575640.};
  const int batches = 3;
  const int m = 14;
  const int k = 16;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M14xK16xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1496.,    3672.,    5848.,    8024.,    10200.,   12376.,   14552.,
      16728.,   18904.,   21080.,   23256.,   25432.,   27608.,   29784.,
      31960.,   34136.,   3672.,    9944.,    16216.,   22488.,   28760.,
      35032.,   41304.,   47576.,   53848.,   60120.,   66392.,   72664.,
      78936.,   85208.,   91480.,   97752.,   5848.,    16216.,   26584.,
      36952.,   47320.,   57688.,   68056.,   78424.,   88792.,   99160.,
      109528.,  119896.,  130264.,  140632.,  151000.,  161368.,  8024.,
      22488.,   36952.,   51416.,   65880.,   80344.,   94808.,   109272.,
      123736.,  138200.,  152664.,  167128.,  181592.,  196056.,  210520.,
      224984.,  10200.,   28760.,   47320.,   65880.,   84440.,   103000.,
      121560.,  140120.,  158680.,  177240.,  195800.,  214360.,  232920.,
      251480.,  270040.,  288600.,  12376.,   35032.,   57688.,   80344.,
      103000.,  125656.,  148312.,  170968.,  193624.,  216280.,  238936.,
      261592.,  284248.,  306904.,  329560.,  352216.,  14552.,   41304.,
      68056.,   94808.,   121560.,  148312.,  175064.,  201816.,  228568.,
      255320.,  282072.,  308824.,  335576.,  362328.,  389080.,  415832.,
      16728.,   47576.,   78424.,   109272.,  140120.,  170968.,  201816.,
      232664.,  263512.,  294360.,  325208.,  356056.,  386904.,  417752.,
      448600.,  479448.,  18904.,   53848.,   88792.,   123736.,  158680.,
      193624.,  228568.,  263512.,  298456.,  333400.,  368344.,  403288.,
      438232.,  473176.,  508120.,  543064.,  21080.,   60120.,   99160.,
      138200.,  177240.,  216280.,  255320.,  294360.,  333400.,  372440.,
      411480.,  450520.,  489560.,  528600.,  567640.,  606680.,  23256.,
      66392.,   109528.,  152664.,  195800.,  238936.,  282072.,  325208.,
      368344.,  411480.,  454616.,  497752.,  540888.,  584024.,  627160.,
      670296.,  25432.,   72664.,   119896.,  167128.,  214360.,  261592.,
      308824.,  356056.,  403288.,  450520.,  497752.,  544984.,  592216.,
      639448.,  686680.,  733912.,  27608.,   78936.,   130264.,  181592.,
      232920.,  284248.,  335576.,  386904.,  438232.,  489560.,  540888.,
      592216.,  643544.,  694872.,  746200.,  797528.,  29784.,   85208.,
      140632.,  196056.,  251480.,  306904.,  362328.,  417752.,  473176.,
      528600.,  584024.,  639448.,  694872.,  750296.,  805720.,  861144.,
      984280.,  1043800., 1103320., 1162840., 1222360., 1281880., 1341400.,
      1400920., 1460440., 1519960., 1579480., 1639000., 1698520., 1758040.,
      1817560., 1877080., 1051992., 1115608., 1179224., 1242840., 1306456.,
      1370072., 1433688., 1497304., 1560920., 1624536., 1688152., 1751768.,
      1815384., 1879000., 1942616., 2006232., 1119704., 1187416., 1255128.,
      1322840., 1390552., 1458264., 1525976., 1593688., 1661400., 1729112.,
      1796824., 1864536., 1932248., 1999960., 2067672., 2135384., 1187416.,
      1259224., 1331032., 1402840., 1474648., 1546456., 1618264., 1690072.,
      1761880., 1833688., 1905496., 1977304., 2049112., 2120920., 2192728.,
      2264536., 1255128., 1331032., 1406936., 1482840., 1558744., 1634648.,
      1710552., 1786456., 1862360., 1938264., 2014168., 2090072., 2165976.,
      2241880., 2317784., 2393688., 1322840., 1402840., 1482840., 1562840.,
      1642840., 1722840., 1802840., 1882840., 1962840., 2042840., 2122840.,
      2202840., 2282840., 2362840., 2442840., 2522840., 1390552., 1474648.,
      1558744., 1642840., 1726936., 1811032., 1895128., 1979224., 2063320.,
      2147416., 2231512., 2315608., 2399704., 2483800., 2567896., 2651992.,
      1458264., 1546456., 1634648., 1722840., 1811032., 1899224., 1987416.,
      2075608., 2163800., 2251992., 2340184., 2428376., 2516568., 2604760.,
      2692952., 2781144., 1525976., 1618264., 1710552., 1802840., 1895128.,
      1987416., 2079704., 2171992., 2264280., 2356568., 2448856., 2541144.,
      2633432., 2725720., 2818008., 2910296., 1593688., 1690072., 1786456.,
      1882840., 1979224., 2075608., 2171992., 2268376., 2364760., 2461144.,
      2557528., 2653912., 2750296., 2846680., 2943064., 3039448., 1661400.,
      1761880., 1862360., 1962840., 2063320., 2163800., 2264280., 2364760.,
      2465240., 2565720., 2666200., 2766680., 2867160., 2967640., 3068120.,
      3168600., 1729112., 1833688., 1938264., 2042840., 2147416., 2251992.,
      2356568., 2461144., 2565720., 2670296., 2774872., 2879448., 2984024.,
      3088600., 3193176., 3297752., 1796824., 1905496., 2014168., 2122840.,
      2231512., 2340184., 2448856., 2557528., 2666200., 2774872., 2883544.,
      2992216., 3100888., 3209560., 3318232., 3426904., 1864536., 1977304.,
      2090072., 2202840., 2315608., 2428376., 2541144., 2653912., 2766680.,
      2879448., 2992216., 3104984., 3217752., 3330520., 3443288., 3556056.,
      3802072., 3918936., 4035800., 4152664., 4269528., 4386392., 4503256.,
      4620120., 4736984., 4853848., 4970712., 5087576., 5204440., 5321304.,
      5438168., 5555032., 3935320., 4056280., 4177240., 4298200., 4419160.,
      4540120., 4661080., 4782040., 4903000., 5023960., 5144920., 5265880.,
      5386840., 5507800., 5628760., 5749720., 4068568., 4193624., 4318680.,
      4443736., 4568792., 4693848., 4818904., 4943960., 5069016., 5194072.,
      5319128., 5444184., 5569240., 5694296., 5819352., 5944408., 4201816.,
      4330968., 4460120., 4589272., 4718424., 4847576., 4976728., 5105880.,
      5235032., 5364184., 5493336., 5622488., 5751640., 5880792., 6009944.,
      6139096., 4335064., 4468312., 4601560., 4734808., 4868056., 5001304.,
      5134552., 5267800., 5401048., 5534296., 5667544., 5800792., 5934040.,
      6067288., 6200536., 6333784., 4468312., 4605656., 4743000., 4880344.,
      5017688., 5155032., 5292376., 5429720., 5567064., 5704408., 5841752.,
      5979096., 6116440., 6253784., 6391128., 6528472., 4601560., 4743000.,
      4884440., 5025880., 5167320., 5308760., 5450200., 5591640., 5733080.,
      5874520., 6015960., 6157400., 6298840., 6440280., 6581720., 6723160.,
      4734808., 4880344., 5025880., 5171416., 5316952., 5462488., 5608024.,
      5753560., 5899096., 6044632., 6190168., 6335704., 6481240., 6626776.,
      6772312., 6917848., 4868056., 5017688., 5167320., 5316952., 5466584.,
      5616216., 5765848., 5915480., 6065112., 6214744., 6364376., 6514008.,
      6663640., 6813272., 6962904., 7112536., 5001304., 5155032., 5308760.,
      5462488., 5616216., 5769944., 5923672., 6077400., 6231128., 6384856.,
      6538584., 6692312., 6846040., 6999768., 7153496., 7307224., 5134552.,
      5292376., 5450200., 5608024., 5765848., 5923672., 6081496., 6239320.,
      6397144., 6554968., 6712792., 6870616., 7028440., 7186264., 7344088.,
      7501912., 5267800., 5429720., 5591640., 5753560., 5915480., 6077400.,
      6239320., 6401240., 6563160., 6725080., 6887000., 7048920., 7210840.,
      7372760., 7534680., 7696600., 5401048., 5567064., 5733080., 5899096.,
      6065112., 6231128., 6397144., 6563160., 6729176., 6895192., 7061208.,
      7227224., 7393240., 7559256., 7725272., 7891288., 5534296., 5704408.,
      5874520., 6044632., 6214744., 6384856., 6554968., 6725080., 6895192.,
      7065304., 7235416., 7405528., 7575640., 7745752., 7915864., 8085976.};
  const int batches = 3;
  const int m = 14;
  const int k = 16;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M15xK14xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1015.,    2485.,    3955.,    5425.,    6895.,    8365.,    9835.,
      11305.,   12775.,   14245.,   15715.,   17185.,   18655.,   20125.,
      2485.,    6699.,    10913.,   15127.,   19341.,   23555.,   27769.,
      31983.,   36197.,   40411.,   44625.,   48839.,   53053.,   57267.,
      3955.,    10913.,   17871.,   24829.,   31787.,   38745.,   45703.,
      52661.,   59619.,   66577.,   73535.,   80493.,   87451.,   94409.,
      5425.,    15127.,   24829.,   34531.,   44233.,   53935.,   63637.,
      73339.,   83041.,   92743.,   102445.,  112147.,  121849.,  131551.,
      6895.,    19341.,   31787.,   44233.,   56679.,   69125.,   81571.,
      94017.,   106463.,  118909.,  131355.,  143801.,  156247.,  168693.,
      8365.,    23555.,   38745.,   53935.,   69125.,   84315.,   99505.,
      114695.,  129885.,  145075.,  160265.,  175455.,  190645.,  205835.,
      9835.,    27769.,   45703.,   63637.,   81571.,   99505.,   117439.,
      135373.,  153307.,  171241.,  189175.,  207109.,  225043.,  242977.,
      11305.,   31983.,   52661.,   73339.,   94017.,   114695.,  135373.,
      156051.,  176729.,  197407.,  218085.,  238763.,  259441.,  280119.,
      12775.,   36197.,   59619.,   83041.,   106463.,  129885.,  153307.,
      176729.,  200151.,  223573.,  246995.,  270417.,  293839.,  317261.,
      14245.,   40411.,   66577.,   92743.,   118909.,  145075.,  171241.,
      197407.,  223573.,  249739.,  275905.,  302071.,  328237.,  354403.,
      15715.,   44625.,   73535.,   102445.,  131355.,  160265.,  189175.,
      218085.,  246995.,  275905.,  304815.,  333725.,  362635.,  391545.,
      17185.,   48839.,   80493.,   112147.,  143801.,  175455.,  207109.,
      238763.,  270417.,  302071.,  333725.,  365379.,  397033.,  428687.,
      18655.,   53053.,   87451.,   121849.,  156247.,  190645.,  225043.,
      259441.,  293839.,  328237.,  362635.,  397033.,  431431.,  465829.,
      20125.,   57267.,   94409.,   131551.,  168693.,  205835.,  242977.,
      280119.,  317261.,  354403.,  391545.,  428687.,  465829.,  502971.,
      21595.,   61481.,   101367.,  141253.,  181139.,  221025.,  260911.,
      300797.,  340683.,  380569.,  420455.,  460341.,  500227.,  540113.,
      619885.,  662515.,  705145.,  747775.,  790405.,  833035.,  875665.,
      918295.,  960925.,  1003555., 1046185., 1088815., 1131445., 1174075.,
      659771.,  705145.,  750519.,  795893.,  841267.,  886641.,  932015.,
      977389.,  1022763., 1068137., 1113511., 1158885., 1204259., 1249633.,
      699657.,  747775.,  795893.,  844011.,  892129.,  940247.,  988365.,
      1036483., 1084601., 1132719., 1180837., 1228955., 1277073., 1325191.,
      739543.,  790405.,  841267.,  892129.,  942991.,  993853.,  1044715.,
      1095577., 1146439., 1197301., 1248163., 1299025., 1349887., 1400749.,
      779429.,  833035.,  886641.,  940247.,  993853.,  1047459., 1101065.,
      1154671., 1208277., 1261883., 1315489., 1369095., 1422701., 1476307.,
      819315.,  875665.,  932015.,  988365.,  1044715., 1101065., 1157415.,
      1213765., 1270115., 1326465., 1382815., 1439165., 1495515., 1551865.,
      859201.,  918295.,  977389.,  1036483., 1095577., 1154671., 1213765.,
      1272859., 1331953., 1391047., 1450141., 1509235., 1568329., 1627423.,
      899087.,  960925.,  1022763., 1084601., 1146439., 1208277., 1270115.,
      1331953., 1393791., 1455629., 1517467., 1579305., 1641143., 1702981.,
      938973.,  1003555., 1068137., 1132719., 1197301., 1261883., 1326465.,
      1391047., 1455629., 1520211., 1584793., 1649375., 1713957., 1778539.,
      978859.,  1046185., 1113511., 1180837., 1248163., 1315489., 1382815.,
      1450141., 1517467., 1584793., 1652119., 1719445., 1786771., 1854097.,
      1018745., 1088815., 1158885., 1228955., 1299025., 1369095., 1439165.,
      1509235., 1579305., 1649375., 1719445., 1789515., 1859585., 1929655.,
      1058631., 1131445., 1204259., 1277073., 1349887., 1422701., 1495515.,
      1568329., 1641143., 1713957., 1786771., 1859585., 1932399., 2005213.,
      1098517., 1174075., 1249633., 1325191., 1400749., 1476307., 1551865.,
      1627423., 1702981., 1778539., 1854097., 1929655., 2005213., 2080771.,
      1138403., 1216705., 1295007., 1373309., 1451611., 1529913., 1608215.,
      1686517., 1764819., 1843121., 1921423., 1999725., 2078027., 2156329.,
      1178289., 1259335., 1340381., 1421427., 1502473., 1583519., 1664565.,
      1745611., 1826657., 1907703., 1988749., 2069795., 2150841., 2231887.,
      2391235., 2475025., 2558815., 2642605., 2726395., 2810185., 2893975.,
      2977765., 3061555., 3145345., 3229135., 3312925., 3396715., 3480505.,
      2469537., 2556071., 2642605., 2729139., 2815673., 2902207., 2988741.,
      3075275., 3161809., 3248343., 3334877., 3421411., 3507945., 3594479.,
      2547839., 2637117., 2726395., 2815673., 2904951., 2994229., 3083507.,
      3172785., 3262063., 3351341., 3440619., 3529897., 3619175., 3708453.,
      2626141., 2718163., 2810185., 2902207., 2994229., 3086251., 3178273.,
      3270295., 3362317., 3454339., 3546361., 3638383., 3730405., 3822427.,
      2704443., 2799209., 2893975., 2988741., 3083507., 3178273., 3273039.,
      3367805., 3462571., 3557337., 3652103., 3746869., 3841635., 3936401.,
      2782745., 2880255., 2977765., 3075275., 3172785., 3270295., 3367805.,
      3465315., 3562825., 3660335., 3757845., 3855355., 3952865., 4050375.,
      2861047., 2961301., 3061555., 3161809., 3262063., 3362317., 3462571.,
      3562825., 3663079., 3763333., 3863587., 3963841., 4064095., 4164349.,
      2939349., 3042347., 3145345., 3248343., 3351341., 3454339., 3557337.,
      3660335., 3763333., 3866331., 3969329., 4072327., 4175325., 4278323.,
      3017651., 3123393., 3229135., 3334877., 3440619., 3546361., 3652103.,
      3757845., 3863587., 3969329., 4075071., 4180813., 4286555., 4392297.,
      3095953., 3204439., 3312925., 3421411., 3529897., 3638383., 3746869.,
      3855355., 3963841., 4072327., 4180813., 4289299., 4397785., 4506271.,
      3174255., 3285485., 3396715., 3507945., 3619175., 3730405., 3841635.,
      3952865., 4064095., 4175325., 4286555., 4397785., 4509015., 4620245.,
      3252557., 3366531., 3480505., 3594479., 3708453., 3822427., 3936401.,
      4050375., 4164349., 4278323., 4392297., 4506271., 4620245., 4734219.,
      3330859., 3447577., 3564295., 3681013., 3797731., 3914449., 4031167.,
      4147885., 4264603., 4381321., 4498039., 4614757., 4731475., 4848193.,
      3409161., 3528623., 3648085., 3767547., 3887009., 4006471., 4125933.,
      4245395., 4364857., 4484319., 4603781., 4723243., 4842705., 4962167.,
      3487463., 3609669., 3731875., 3854081., 3976287., 4098493., 4220699.,
      4342905., 4465111., 4587317., 4709523., 4831729., 4953935., 5076141.};
  const int batches = 3;
  const int m = 15;
  const int k = 14;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M15xK14xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1015.,    2485.,    3955.,    5425.,    6895.,    8365.,    9835.,
      11305.,   12775.,   14245.,   15715.,   17185.,   18655.,   20125.,
      21595.,   2485.,    6699.,    10913.,   15127.,   19341.,   23555.,
      27769.,   31983.,   36197.,   40411.,   44625.,   48839.,   53053.,
      57267.,   61481.,   3955.,    10913.,   17871.,   24829.,   31787.,
      38745.,   45703.,   52661.,   59619.,   66577.,   73535.,   80493.,
      87451.,   94409.,   101367.,  5425.,    15127.,   24829.,   34531.,
      44233.,   53935.,   63637.,   73339.,   83041.,   92743.,   102445.,
      112147.,  121849.,  131551.,  141253.,  6895.,    19341.,   31787.,
      44233.,   56679.,   69125.,   81571.,   94017.,   106463.,  118909.,
      131355.,  143801.,  156247.,  168693.,  181139.,  8365.,    23555.,
      38745.,   53935.,   69125.,   84315.,   99505.,   114695.,  129885.,
      145075.,  160265.,  175455.,  190645.,  205835.,  221025.,  9835.,
      27769.,   45703.,   63637.,   81571.,   99505.,   117439.,  135373.,
      153307.,  171241.,  189175.,  207109.,  225043.,  242977.,  260911.,
      11305.,   31983.,   52661.,   73339.,   94017.,   114695.,  135373.,
      156051.,  176729.,  197407.,  218085.,  238763.,  259441.,  280119.,
      300797.,  12775.,   36197.,   59619.,   83041.,   106463.,  129885.,
      153307.,  176729.,  200151.,  223573.,  246995.,  270417.,  293839.,
      317261.,  340683.,  14245.,   40411.,   66577.,   92743.,   118909.,
      145075.,  171241.,  197407.,  223573.,  249739.,  275905.,  302071.,
      328237.,  354403.,  380569.,  15715.,   44625.,   73535.,   102445.,
      131355.,  160265.,  189175.,  218085.,  246995.,  275905.,  304815.,
      333725.,  362635.,  391545.,  420455.,  17185.,   48839.,   80493.,
      112147.,  143801.,  175455.,  207109.,  238763.,  270417.,  302071.,
      333725.,  365379.,  397033.,  428687.,  460341.,  18655.,   53053.,
      87451.,   121849.,  156247.,  190645.,  225043.,  259441.,  293839.,
      328237.,  362635.,  397033.,  431431.,  465829.,  500227.,  20125.,
      57267.,   94409.,   131551.,  168693.,  205835.,  242977.,  280119.,
      317261.,  354403.,  391545.,  428687.,  465829.,  502971.,  540113.,
      21595.,   61481.,   101367.,  141253.,  181139.,  221025.,  260911.,
      300797.,  340683.,  380569.,  420455.,  460341.,  500227.,  540113.,
      579999.,  662515.,  705145.,  747775.,  790405.,  833035.,  875665.,
      918295.,  960925.,  1003555., 1046185., 1088815., 1131445., 1174075.,
      1216705., 1259335., 705145.,  750519.,  795893.,  841267.,  886641.,
      932015.,  977389.,  1022763., 1068137., 1113511., 1158885., 1204259.,
      1249633., 1295007., 1340381., 747775.,  795893.,  844011.,  892129.,
      940247.,  988365.,  1036483., 1084601., 1132719., 1180837., 1228955.,
      1277073., 1325191., 1373309., 1421427., 790405.,  841267.,  892129.,
      942991.,  993853.,  1044715., 1095577., 1146439., 1197301., 1248163.,
      1299025., 1349887., 1400749., 1451611., 1502473., 833035.,  886641.,
      940247.,  993853.,  1047459., 1101065., 1154671., 1208277., 1261883.,
      1315489., 1369095., 1422701., 1476307., 1529913., 1583519., 875665.,
      932015.,  988365.,  1044715., 1101065., 1157415., 1213765., 1270115.,
      1326465., 1382815., 1439165., 1495515., 1551865., 1608215., 1664565.,
      918295.,  977389.,  1036483., 1095577., 1154671., 1213765., 1272859.,
      1331953., 1391047., 1450141., 1509235., 1568329., 1627423., 1686517.,
      1745611., 960925.,  1022763., 1084601., 1146439., 1208277., 1270115.,
      1331953., 1393791., 1455629., 1517467., 1579305., 1641143., 1702981.,
      1764819., 1826657., 1003555., 1068137., 1132719., 1197301., 1261883.,
      1326465., 1391047., 1455629., 1520211., 1584793., 1649375., 1713957.,
      1778539., 1843121., 1907703., 1046185., 1113511., 1180837., 1248163.,
      1315489., 1382815., 1450141., 1517467., 1584793., 1652119., 1719445.,
      1786771., 1854097., 1921423., 1988749., 1088815., 1158885., 1228955.,
      1299025., 1369095., 1439165., 1509235., 1579305., 1649375., 1719445.,
      1789515., 1859585., 1929655., 1999725., 2069795., 1131445., 1204259.,
      1277073., 1349887., 1422701., 1495515., 1568329., 1641143., 1713957.,
      1786771., 1859585., 1932399., 2005213., 2078027., 2150841., 1174075.,
      1249633., 1325191., 1400749., 1476307., 1551865., 1627423., 1702981.,
      1778539., 1854097., 1929655., 2005213., 2080771., 2156329., 2231887.,
      1216705., 1295007., 1373309., 1451611., 1529913., 1608215., 1686517.,
      1764819., 1843121., 1921423., 1999725., 2078027., 2156329., 2234631.,
      2312933., 1259335., 1340381., 1421427., 1502473., 1583519., 1664565.,
      1745611., 1826657., 1907703., 1988749., 2069795., 2150841., 2231887.,
      2312933., 2393979., 2558815., 2642605., 2726395., 2810185., 2893975.,
      2977765., 3061555., 3145345., 3229135., 3312925., 3396715., 3480505.,
      3564295., 3648085., 3731875., 2642605., 2729139., 2815673., 2902207.,
      2988741., 3075275., 3161809., 3248343., 3334877., 3421411., 3507945.,
      3594479., 3681013., 3767547., 3854081., 2726395., 2815673., 2904951.,
      2994229., 3083507., 3172785., 3262063., 3351341., 3440619., 3529897.,
      3619175., 3708453., 3797731., 3887009., 3976287., 2810185., 2902207.,
      2994229., 3086251., 3178273., 3270295., 3362317., 3454339., 3546361.,
      3638383., 3730405., 3822427., 3914449., 4006471., 4098493., 2893975.,
      2988741., 3083507., 3178273., 3273039., 3367805., 3462571., 3557337.,
      3652103., 3746869., 3841635., 3936401., 4031167., 4125933., 4220699.,
      2977765., 3075275., 3172785., 3270295., 3367805., 3465315., 3562825.,
      3660335., 3757845., 3855355., 3952865., 4050375., 4147885., 4245395.,
      4342905., 3061555., 3161809., 3262063., 3362317., 3462571., 3562825.,
      3663079., 3763333., 3863587., 3963841., 4064095., 4164349., 4264603.,
      4364857., 4465111., 3145345., 3248343., 3351341., 3454339., 3557337.,
      3660335., 3763333., 3866331., 3969329., 4072327., 4175325., 4278323.,
      4381321., 4484319., 4587317., 3229135., 3334877., 3440619., 3546361.,
      3652103., 3757845., 3863587., 3969329., 4075071., 4180813., 4286555.,
      4392297., 4498039., 4603781., 4709523., 3312925., 3421411., 3529897.,
      3638383., 3746869., 3855355., 3963841., 4072327., 4180813., 4289299.,
      4397785., 4506271., 4614757., 4723243., 4831729., 3396715., 3507945.,
      3619175., 3730405., 3841635., 3952865., 4064095., 4175325., 4286555.,
      4397785., 4509015., 4620245., 4731475., 4842705., 4953935., 3480505.,
      3594479., 3708453., 3822427., 3936401., 4050375., 4164349., 4278323.,
      4392297., 4506271., 4620245., 4734219., 4848193., 4962167., 5076141.,
      3564295., 3681013., 3797731., 3914449., 4031167., 4147885., 4264603.,
      4381321., 4498039., 4614757., 4731475., 4848193., 4964911., 5081629.,
      5198347., 3648085., 3767547., 3887009., 4006471., 4125933., 4245395.,
      4364857., 4484319., 4603781., 4723243., 4842705., 4962167., 5081629.,
      5201091., 5320553., 3731875., 3854081., 3976287., 4098493., 4220699.,
      4342905., 4465111., 4587317., 4709523., 4831729., 4953935., 5076141.,
      5198347., 5320553., 5442759.};
  const int batches = 3;
  const int m = 15;
  const int k = 14;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M15xK14xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1015.,    2485.,    3955.,    5425.,    6895.,    8365.,    9835.,
      11305.,   12775.,   14245.,   15715.,   17185.,   18655.,   20125.,
      21595.,   23065.,   2485.,    6699.,    10913.,   15127.,   19341.,
      23555.,   27769.,   31983.,   36197.,   40411.,   44625.,   48839.,
      53053.,   57267.,   61481.,   65695.,   3955.,    10913.,   17871.,
      24829.,   31787.,   38745.,   45703.,   52661.,   59619.,   66577.,
      73535.,   80493.,   87451.,   94409.,   101367.,  108325.,  5425.,
      15127.,   24829.,   34531.,   44233.,   53935.,   63637.,   73339.,
      83041.,   92743.,   102445.,  112147.,  121849.,  131551.,  141253.,
      150955.,  6895.,    19341.,   31787.,   44233.,   56679.,   69125.,
      81571.,   94017.,   106463.,  118909.,  131355.,  143801.,  156247.,
      168693.,  181139.,  193585.,  8365.,    23555.,   38745.,   53935.,
      69125.,   84315.,   99505.,   114695.,  129885.,  145075.,  160265.,
      175455.,  190645.,  205835.,  221025.,  236215.,  9835.,    27769.,
      45703.,   63637.,   81571.,   99505.,   117439.,  135373.,  153307.,
      171241.,  189175.,  207109.,  225043.,  242977.,  260911.,  278845.,
      11305.,   31983.,   52661.,   73339.,   94017.,   114695.,  135373.,
      156051.,  176729.,  197407.,  218085.,  238763.,  259441.,  280119.,
      300797.,  321475.,  12775.,   36197.,   59619.,   83041.,   106463.,
      129885.,  153307.,  176729.,  200151.,  223573.,  246995.,  270417.,
      293839.,  317261.,  340683.,  364105.,  14245.,   40411.,   66577.,
      92743.,   118909.,  145075.,  171241.,  197407.,  223573.,  249739.,
      275905.,  302071.,  328237.,  354403.,  380569.,  406735.,  15715.,
      44625.,   73535.,   102445.,  131355.,  160265.,  189175.,  218085.,
      246995.,  275905.,  304815.,  333725.,  362635.,  391545.,  420455.,
      449365.,  17185.,   48839.,   80493.,   112147.,  143801.,  175455.,
      207109.,  238763.,  270417.,  302071.,  333725.,  365379.,  397033.,
      428687.,  460341.,  491995.,  18655.,   53053.,   87451.,   121849.,
      156247.,  190645.,  225043.,  259441.,  293839.,  328237.,  362635.,
      397033.,  431431.,  465829.,  500227.,  534625.,  20125.,   57267.,
      94409.,   131551.,  168693.,  205835.,  242977.,  280119.,  317261.,
      354403.,  391545.,  428687.,  465829.,  502971.,  540113.,  577255.,
      21595.,   61481.,   101367.,  141253.,  181139.,  221025.,  260911.,
      300797.,  340683.,  380569.,  420455.,  460341.,  500227.,  540113.,
      579999.,  619885.,  705145.,  747775.,  790405.,  833035.,  875665.,
      918295.,  960925.,  1003555., 1046185., 1088815., 1131445., 1174075.,
      1216705., 1259335., 1301965., 1344595., 750519.,  795893.,  841267.,
      886641.,  932015.,  977389.,  1022763., 1068137., 1113511., 1158885.,
      1204259., 1249633., 1295007., 1340381., 1385755., 1431129., 795893.,
      844011.,  892129.,  940247.,  988365.,  1036483., 1084601., 1132719.,
      1180837., 1228955., 1277073., 1325191., 1373309., 1421427., 1469545.,
      1517663., 841267.,  892129.,  942991.,  993853.,  1044715., 1095577.,
      1146439., 1197301., 1248163., 1299025., 1349887., 1400749., 1451611.,
      1502473., 1553335., 1604197., 886641.,  940247.,  993853.,  1047459.,
      1101065., 1154671., 1208277., 1261883., 1315489., 1369095., 1422701.,
      1476307., 1529913., 1583519., 1637125., 1690731., 932015.,  988365.,
      1044715., 1101065., 1157415., 1213765., 1270115., 1326465., 1382815.,
      1439165., 1495515., 1551865., 1608215., 1664565., 1720915., 1777265.,
      977389.,  1036483., 1095577., 1154671., 1213765., 1272859., 1331953.,
      1391047., 1450141., 1509235., 1568329., 1627423., 1686517., 1745611.,
      1804705., 1863799., 1022763., 1084601., 1146439., 1208277., 1270115.,
      1331953., 1393791., 1455629., 1517467., 1579305., 1641143., 1702981.,
      1764819., 1826657., 1888495., 1950333., 1068137., 1132719., 1197301.,
      1261883., 1326465., 1391047., 1455629., 1520211., 1584793., 1649375.,
      1713957., 1778539., 1843121., 1907703., 1972285., 2036867., 1113511.,
      1180837., 1248163., 1315489., 1382815., 1450141., 1517467., 1584793.,
      1652119., 1719445., 1786771., 1854097., 1921423., 1988749., 2056075.,
      2123401., 1158885., 1228955., 1299025., 1369095., 1439165., 1509235.,
      1579305., 1649375., 1719445., 1789515., 1859585., 1929655., 1999725.,
      2069795., 2139865., 2209935., 1204259., 1277073., 1349887., 1422701.,
      1495515., 1568329., 1641143., 1713957., 1786771., 1859585., 1932399.,
      2005213., 2078027., 2150841., 2223655., 2296469., 1249633., 1325191.,
      1400749., 1476307., 1551865., 1627423., 1702981., 1778539., 1854097.,
      1929655., 2005213., 2080771., 2156329., 2231887., 2307445., 2383003.,
      1295007., 1373309., 1451611., 1529913., 1608215., 1686517., 1764819.,
      1843121., 1921423., 1999725., 2078027., 2156329., 2234631., 2312933.,
      2391235., 2469537., 1340381., 1421427., 1502473., 1583519., 1664565.,
      1745611., 1826657., 1907703., 1988749., 2069795., 2150841., 2231887.,
      2312933., 2393979., 2475025., 2556071., 2726395., 2810185., 2893975.,
      2977765., 3061555., 3145345., 3229135., 3312925., 3396715., 3480505.,
      3564295., 3648085., 3731875., 3815665., 3899455., 3983245., 2815673.,
      2902207., 2988741., 3075275., 3161809., 3248343., 3334877., 3421411.,
      3507945., 3594479., 3681013., 3767547., 3854081., 3940615., 4027149.,
      4113683., 2904951., 2994229., 3083507., 3172785., 3262063., 3351341.,
      3440619., 3529897., 3619175., 3708453., 3797731., 3887009., 3976287.,
      4065565., 4154843., 4244121., 2994229., 3086251., 3178273., 3270295.,
      3362317., 3454339., 3546361., 3638383., 3730405., 3822427., 3914449.,
      4006471., 4098493., 4190515., 4282537., 4374559., 3083507., 3178273.,
      3273039., 3367805., 3462571., 3557337., 3652103., 3746869., 3841635.,
      3936401., 4031167., 4125933., 4220699., 4315465., 4410231., 4504997.,
      3172785., 3270295., 3367805., 3465315., 3562825., 3660335., 3757845.,
      3855355., 3952865., 4050375., 4147885., 4245395., 4342905., 4440415.,
      4537925., 4635435., 3262063., 3362317., 3462571., 3562825., 3663079.,
      3763333., 3863587., 3963841., 4064095., 4164349., 4264603., 4364857.,
      4465111., 4565365., 4665619., 4765873., 3351341., 3454339., 3557337.,
      3660335., 3763333., 3866331., 3969329., 4072327., 4175325., 4278323.,
      4381321., 4484319., 4587317., 4690315., 4793313., 4896311., 3440619.,
      3546361., 3652103., 3757845., 3863587., 3969329., 4075071., 4180813.,
      4286555., 4392297., 4498039., 4603781., 4709523., 4815265., 4921007.,
      5026749., 3529897., 3638383., 3746869., 3855355., 3963841., 4072327.,
      4180813., 4289299., 4397785., 4506271., 4614757., 4723243., 4831729.,
      4940215., 5048701., 5157187., 3619175., 3730405., 3841635., 3952865.,
      4064095., 4175325., 4286555., 4397785., 4509015., 4620245., 4731475.,
      4842705., 4953935., 5065165., 5176395., 5287625., 3708453., 3822427.,
      3936401., 4050375., 4164349., 4278323., 4392297., 4506271., 4620245.,
      4734219., 4848193., 4962167., 5076141., 5190115., 5304089., 5418063.,
      3797731., 3914449., 4031167., 4147885., 4264603., 4381321., 4498039.,
      4614757., 4731475., 4848193., 4964911., 5081629., 5198347., 5315065.,
      5431783., 5548501., 3887009., 4006471., 4125933., 4245395., 4364857.,
      4484319., 4603781., 4723243., 4842705., 4962167., 5081629., 5201091.,
      5320553., 5440015., 5559477., 5678939., 3976287., 4098493., 4220699.,
      4342905., 4465111., 4587317., 4709523., 4831729., 4953935., 5076141.,
      5198347., 5320553., 5442759., 5564965., 5687171., 5809377.};
  const int batches = 3;
  const int m = 15;
  const int k = 14;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M15xK15xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1240.,    3040.,    4840.,    6640.,    8440.,    10240.,   12040.,
      13840.,   15640.,   17440.,   19240.,   21040.,   22840.,   24640.,
      3040.,    8215.,    13390.,   18565.,   23740.,   28915.,   34090.,
      39265.,   44440.,   49615.,   54790.,   59965.,   65140.,   70315.,
      4840.,    13390.,   21940.,   30490.,   39040.,   47590.,   56140.,
      64690.,   73240.,   81790.,   90340.,   98890.,   107440.,  115990.,
      6640.,    18565.,   30490.,   42415.,   54340.,   66265.,   78190.,
      90115.,   102040.,  113965.,  125890.,  137815.,  149740.,  161665.,
      8440.,    23740.,   39040.,   54340.,   69640.,   84940.,   100240.,
      115540.,  130840.,  146140.,  161440.,  176740.,  192040.,  207340.,
      10240.,   28915.,   47590.,   66265.,   84940.,   103615.,  122290.,
      140965.,  159640.,  178315.,  196990.,  215665.,  234340.,  253015.,
      12040.,   34090.,   56140.,   78190.,   100240.,  122290.,  144340.,
      166390.,  188440.,  210490.,  232540.,  254590.,  276640.,  298690.,
      13840.,   39265.,   64690.,   90115.,   115540.,  140965.,  166390.,
      191815.,  217240.,  242665.,  268090.,  293515.,  318940.,  344365.,
      15640.,   44440.,   73240.,   102040.,  130840.,  159640.,  188440.,
      217240.,  246040.,  274840.,  303640.,  332440.,  361240.,  390040.,
      17440.,   49615.,   81790.,   113965.,  146140.,  178315.,  210490.,
      242665.,  274840.,  307015.,  339190.,  371365.,  403540.,  435715.,
      19240.,   54790.,   90340.,   125890.,  161440.,  196990.,  232540.,
      268090.,  303640.,  339190.,  374740.,  410290.,  445840.,  481390.,
      21040.,   59965.,   98890.,   137815.,  176740.,  215665.,  254590.,
      293515.,  332440.,  371365.,  410290.,  449215.,  488140.,  527065.,
      22840.,   65140.,   107440.,  149740.,  192040.,  234340.,  276640.,
      318940.,  361240.,  403540.,  445840.,  488140.,  530440.,  572740.,
      24640.,   70315.,   115990.,  161665.,  207340.,  253015.,  298690.,
      344365.,  390040.,  435715.,  481390.,  527065.,  572740.,  618415.,
      26440.,   75490.,   124540.,  173590.,  222640.,  271690.,  320740.,
      369790.,  418840.,  467890.,  516940.,  565990.,  615040.,  664090.,
      762190.,  814615.,  867040.,  919465.,  971890.,  1024315., 1076740.,
      1129165., 1181590., 1234015., 1286440., 1338865., 1391290., 1443715.,
      811240.,  867040.,  922840.,  978640.,  1034440., 1090240., 1146040.,
      1201840., 1257640., 1313440., 1369240., 1425040., 1480840., 1536640.,
      860290.,  919465.,  978640.,  1037815., 1096990., 1156165., 1215340.,
      1274515., 1333690., 1392865., 1452040., 1511215., 1570390., 1629565.,
      909340.,  971890.,  1034440., 1096990., 1159540., 1222090., 1284640.,
      1347190., 1409740., 1472290., 1534840., 1597390., 1659940., 1722490.,
      958390.,  1024315., 1090240., 1156165., 1222090., 1288015., 1353940.,
      1419865., 1485790., 1551715., 1617640., 1683565., 1749490., 1815415.,
      1007440., 1076740., 1146040., 1215340., 1284640., 1353940., 1423240.,
      1492540., 1561840., 1631140., 1700440., 1769740., 1839040., 1908340.,
      1056490., 1129165., 1201840., 1274515., 1347190., 1419865., 1492540.,
      1565215., 1637890., 1710565., 1783240., 1855915., 1928590., 2001265.,
      1105540., 1181590., 1257640., 1333690., 1409740., 1485790., 1561840.,
      1637890., 1713940., 1789990., 1866040., 1942090., 2018140., 2094190.,
      1154590., 1234015., 1313440., 1392865., 1472290., 1551715., 1631140.,
      1710565., 1789990., 1869415., 1948840., 2028265., 2107690., 2187115.,
      1203640., 1286440., 1369240., 1452040., 1534840., 1617640., 1700440.,
      1783240., 1866040., 1948840., 2031640., 2114440., 2197240., 2280040.,
      1252690., 1338865., 1425040., 1511215., 1597390., 1683565., 1769740.,
      1855915., 1942090., 2028265., 2114440., 2200615., 2286790., 2372965.,
      1301740., 1391290., 1480840., 1570390., 1659940., 1749490., 1839040.,
      1928590., 2018140., 2107690., 2197240., 2286790., 2376340., 2465890.,
      1350790., 1443715., 1536640., 1629565., 1722490., 1815415., 1908340.,
      2001265., 2094190., 2187115., 2280040., 2372965., 2465890., 2558815.,
      1399840., 1496140., 1592440., 1688740., 1785040., 1881340., 1977640.,
      2073940., 2170240., 2266540., 2362840., 2459140., 2555440., 2651740.,
      1448890., 1548565., 1648240., 1747915., 1847590., 1947265., 2046940.,
      2146615., 2246290., 2345965., 2445640., 2545315., 2644990., 2744665.,
      2940640., 3043690., 3146740., 3249790., 3352840., 3455890., 3558940.,
      3661990., 3765040., 3868090., 3971140., 4074190., 4177240., 4280290.,
      3036940., 3143365., 3249790., 3356215., 3462640., 3569065., 3675490.,
      3781915., 3888340., 3994765., 4101190., 4207615., 4314040., 4420465.,
      3133240., 3243040., 3352840., 3462640., 3572440., 3682240., 3792040.,
      3901840., 4011640., 4121440., 4231240., 4341040., 4450840., 4560640.,
      3229540., 3342715., 3455890., 3569065., 3682240., 3795415., 3908590.,
      4021765., 4134940., 4248115., 4361290., 4474465., 4587640., 4700815.,
      3325840., 3442390., 3558940., 3675490., 3792040., 3908590., 4025140.,
      4141690., 4258240., 4374790., 4491340., 4607890., 4724440., 4840990.,
      3422140., 3542065., 3661990., 3781915., 3901840., 4021765., 4141690.,
      4261615., 4381540., 4501465., 4621390., 4741315., 4861240., 4981165.,
      3518440., 3641740., 3765040., 3888340., 4011640., 4134940., 4258240.,
      4381540., 4504840., 4628140., 4751440., 4874740., 4998040., 5121340.,
      3614740., 3741415., 3868090., 3994765., 4121440., 4248115., 4374790.,
      4501465., 4628140., 4754815., 4881490., 5008165., 5134840., 5261515.,
      3711040., 3841090., 3971140., 4101190., 4231240., 4361290., 4491340.,
      4621390., 4751440., 4881490., 5011540., 5141590., 5271640., 5401690.,
      3807340., 3940765., 4074190., 4207615., 4341040., 4474465., 4607890.,
      4741315., 4874740., 5008165., 5141590., 5275015., 5408440., 5541865.,
      3903640., 4040440., 4177240., 4314040., 4450840., 4587640., 4724440.,
      4861240., 4998040., 5134840., 5271640., 5408440., 5545240., 5682040.,
      3999940., 4140115., 4280290., 4420465., 4560640., 4700815., 4840990.,
      4981165., 5121340., 5261515., 5401690., 5541865., 5682040., 5822215.,
      4096240., 4239790., 4383340., 4526890., 4670440., 4813990., 4957540.,
      5101090., 5244640., 5388190., 5531740., 5675290., 5818840., 5962390.,
      4192540., 4339465., 4486390., 4633315., 4780240., 4927165., 5074090.,
      5221015., 5367940., 5514865., 5661790., 5808715., 5955640., 6102565.,
      4288840., 4439140., 4589440., 4739740., 4890040., 5040340., 5190640.,
      5340940., 5491240., 5641540., 5791840., 5942140., 6092440., 6242740.};
  const int batches = 3;
  const int m = 15;
  const int k = 15;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M15xK15xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1240.,    3040.,    4840.,    6640.,    8440.,    10240.,   12040.,
      13840.,   15640.,   17440.,   19240.,   21040.,   22840.,   24640.,
      26440.,   3040.,    8215.,    13390.,   18565.,   23740.,   28915.,
      34090.,   39265.,   44440.,   49615.,   54790.,   59965.,   65140.,
      70315.,   75490.,   4840.,    13390.,   21940.,   30490.,   39040.,
      47590.,   56140.,   64690.,   73240.,   81790.,   90340.,   98890.,
      107440.,  115990.,  124540.,  6640.,    18565.,   30490.,   42415.,
      54340.,   66265.,   78190.,   90115.,   102040.,  113965.,  125890.,
      137815.,  149740.,  161665.,  173590.,  8440.,    23740.,   39040.,
      54340.,   69640.,   84940.,   100240.,  115540.,  130840.,  146140.,
      161440.,  176740.,  192040.,  207340.,  222640.,  10240.,   28915.,
      47590.,   66265.,   84940.,   103615.,  122290.,  140965.,  159640.,
      178315.,  196990.,  215665.,  234340.,  253015.,  271690.,  12040.,
      34090.,   56140.,   78190.,   100240.,  122290.,  144340.,  166390.,
      188440.,  210490.,  232540.,  254590.,  276640.,  298690.,  320740.,
      13840.,   39265.,   64690.,   90115.,   115540.,  140965.,  166390.,
      191815.,  217240.,  242665.,  268090.,  293515.,  318940.,  344365.,
      369790.,  15640.,   44440.,   73240.,   102040.,  130840.,  159640.,
      188440.,  217240.,  246040.,  274840.,  303640.,  332440.,  361240.,
      390040.,  418840.,  17440.,   49615.,   81790.,   113965.,  146140.,
      178315.,  210490.,  242665.,  274840.,  307015.,  339190.,  371365.,
      403540.,  435715.,  467890.,  19240.,   54790.,   90340.,   125890.,
      161440.,  196990.,  232540.,  268090.,  303640.,  339190.,  374740.,
      410290.,  445840.,  481390.,  516940.,  21040.,   59965.,   98890.,
      137815.,  176740.,  215665.,  254590.,  293515.,  332440.,  371365.,
      410290.,  449215.,  488140.,  527065.,  565990.,  22840.,   65140.,
      107440.,  149740.,  192040.,  234340.,  276640.,  318940.,  361240.,
      403540.,  445840.,  488140.,  530440.,  572740.,  615040.,  24640.,
      70315.,   115990.,  161665.,  207340.,  253015.,  298690.,  344365.,
      390040.,  435715.,  481390.,  527065.,  572740.,  618415.,  664090.,
      26440.,   75490.,   124540.,  173590.,  222640.,  271690.,  320740.,
      369790.,  418840.,  467890.,  516940.,  565990.,  615040.,  664090.,
      713140.,  814615.,  867040.,  919465.,  971890.,  1024315., 1076740.,
      1129165., 1181590., 1234015., 1286440., 1338865., 1391290., 1443715.,
      1496140., 1548565., 867040.,  922840.,  978640.,  1034440., 1090240.,
      1146040., 1201840., 1257640., 1313440., 1369240., 1425040., 1480840.,
      1536640., 1592440., 1648240., 919465.,  978640.,  1037815., 1096990.,
      1156165., 1215340., 1274515., 1333690., 1392865., 1452040., 1511215.,
      1570390., 1629565., 1688740., 1747915., 971890.,  1034440., 1096990.,
      1159540., 1222090., 1284640., 1347190., 1409740., 1472290., 1534840.,
      1597390., 1659940., 1722490., 1785040., 1847590., 1024315., 1090240.,
      1156165., 1222090., 1288015., 1353940., 1419865., 1485790., 1551715.,
      1617640., 1683565., 1749490., 1815415., 1881340., 1947265., 1076740.,
      1146040., 1215340., 1284640., 1353940., 1423240., 1492540., 1561840.,
      1631140., 1700440., 1769740., 1839040., 1908340., 1977640., 2046940.,
      1129165., 1201840., 1274515., 1347190., 1419865., 1492540., 1565215.,
      1637890., 1710565., 1783240., 1855915., 1928590., 2001265., 2073940.,
      2146615., 1181590., 1257640., 1333690., 1409740., 1485790., 1561840.,
      1637890., 1713940., 1789990., 1866040., 1942090., 2018140., 2094190.,
      2170240., 2246290., 1234015., 1313440., 1392865., 1472290., 1551715.,
      1631140., 1710565., 1789990., 1869415., 1948840., 2028265., 2107690.,
      2187115., 2266540., 2345965., 1286440., 1369240., 1452040., 1534840.,
      1617640., 1700440., 1783240., 1866040., 1948840., 2031640., 2114440.,
      2197240., 2280040., 2362840., 2445640., 1338865., 1425040., 1511215.,
      1597390., 1683565., 1769740., 1855915., 1942090., 2028265., 2114440.,
      2200615., 2286790., 2372965., 2459140., 2545315., 1391290., 1480840.,
      1570390., 1659940., 1749490., 1839040., 1928590., 2018140., 2107690.,
      2197240., 2286790., 2376340., 2465890., 2555440., 2644990., 1443715.,
      1536640., 1629565., 1722490., 1815415., 1908340., 2001265., 2094190.,
      2187115., 2280040., 2372965., 2465890., 2558815., 2651740., 2744665.,
      1496140., 1592440., 1688740., 1785040., 1881340., 1977640., 2073940.,
      2170240., 2266540., 2362840., 2459140., 2555440., 2651740., 2748040.,
      2844340., 1548565., 1648240., 1747915., 1847590., 1947265., 2046940.,
      2146615., 2246290., 2345965., 2445640., 2545315., 2644990., 2744665.,
      2844340., 2944015., 3146740., 3249790., 3352840., 3455890., 3558940.,
      3661990., 3765040., 3868090., 3971140., 4074190., 4177240., 4280290.,
      4383340., 4486390., 4589440., 3249790., 3356215., 3462640., 3569065.,
      3675490., 3781915., 3888340., 3994765., 4101190., 4207615., 4314040.,
      4420465., 4526890., 4633315., 4739740., 3352840., 3462640., 3572440.,
      3682240., 3792040., 3901840., 4011640., 4121440., 4231240., 4341040.,
      4450840., 4560640., 4670440., 4780240., 4890040., 3455890., 3569065.,
      3682240., 3795415., 3908590., 4021765., 4134940., 4248115., 4361290.,
      4474465., 4587640., 4700815., 4813990., 4927165., 5040340., 3558940.,
      3675490., 3792040., 3908590., 4025140., 4141690., 4258240., 4374790.,
      4491340., 4607890., 4724440., 4840990., 4957540., 5074090., 5190640.,
      3661990., 3781915., 3901840., 4021765., 4141690., 4261615., 4381540.,
      4501465., 4621390., 4741315., 4861240., 4981165., 5101090., 5221015.,
      5340940., 3765040., 3888340., 4011640., 4134940., 4258240., 4381540.,
      4504840., 4628140., 4751440., 4874740., 4998040., 5121340., 5244640.,
      5367940., 5491240., 3868090., 3994765., 4121440., 4248115., 4374790.,
      4501465., 4628140., 4754815., 4881490., 5008165., 5134840., 5261515.,
      5388190., 5514865., 5641540., 3971140., 4101190., 4231240., 4361290.,
      4491340., 4621390., 4751440., 4881490., 5011540., 5141590., 5271640.,
      5401690., 5531740., 5661790., 5791840., 4074190., 4207615., 4341040.,
      4474465., 4607890., 4741315., 4874740., 5008165., 5141590., 5275015.,
      5408440., 5541865., 5675290., 5808715., 5942140., 4177240., 4314040.,
      4450840., 4587640., 4724440., 4861240., 4998040., 5134840., 5271640.,
      5408440., 5545240., 5682040., 5818840., 5955640., 6092440., 4280290.,
      4420465., 4560640., 4700815., 4840990., 4981165., 5121340., 5261515.,
      5401690., 5541865., 5682040., 5822215., 5962390., 6102565., 6242740.,
      4383340., 4526890., 4670440., 4813990., 4957540., 5101090., 5244640.,
      5388190., 5531740., 5675290., 5818840., 5962390., 6105940., 6249490.,
      6393040., 4486390., 4633315., 4780240., 4927165., 5074090., 5221015.,
      5367940., 5514865., 5661790., 5808715., 5955640., 6102565., 6249490.,
      6396415., 6543340., 4589440., 4739740., 4890040., 5040340., 5190640.,
      5340940., 5491240., 5641540., 5791840., 5942140., 6092440., 6242740.,
      6393040., 6543340., 6693640.};
  const int batches = 3;
  const int m = 15;
  const int k = 15;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M15xK15xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1240.,    3040.,    4840.,    6640.,    8440.,    10240.,   12040.,
      13840.,   15640.,   17440.,   19240.,   21040.,   22840.,   24640.,
      26440.,   28240.,   3040.,    8215.,    13390.,   18565.,   23740.,
      28915.,   34090.,   39265.,   44440.,   49615.,   54790.,   59965.,
      65140.,   70315.,   75490.,   80665.,   4840.,    13390.,   21940.,
      30490.,   39040.,   47590.,   56140.,   64690.,   73240.,   81790.,
      90340.,   98890.,   107440.,  115990.,  124540.,  133090.,  6640.,
      18565.,   30490.,   42415.,   54340.,   66265.,   78190.,   90115.,
      102040.,  113965.,  125890.,  137815.,  149740.,  161665.,  173590.,
      185515.,  8440.,    23740.,   39040.,   54340.,   69640.,   84940.,
      100240.,  115540.,  130840.,  146140.,  161440.,  176740.,  192040.,
      207340.,  222640.,  237940.,  10240.,   28915.,   47590.,   66265.,
      84940.,   103615.,  122290.,  140965.,  159640.,  178315.,  196990.,
      215665.,  234340.,  253015.,  271690.,  290365.,  12040.,   34090.,
      56140.,   78190.,   100240.,  122290.,  144340.,  166390.,  188440.,
      210490.,  232540.,  254590.,  276640.,  298690.,  320740.,  342790.,
      13840.,   39265.,   64690.,   90115.,   115540.,  140965.,  166390.,
      191815.,  217240.,  242665.,  268090.,  293515.,  318940.,  344365.,
      369790.,  395215.,  15640.,   44440.,   73240.,   102040.,  130840.,
      159640.,  188440.,  217240.,  246040.,  274840.,  303640.,  332440.,
      361240.,  390040.,  418840.,  447640.,  17440.,   49615.,   81790.,
      113965.,  146140.,  178315.,  210490.,  242665.,  274840.,  307015.,
      339190.,  371365.,  403540.,  435715.,  467890.,  500065.,  19240.,
      54790.,   90340.,   125890.,  161440.,  196990.,  232540.,  268090.,
      303640.,  339190.,  374740.,  410290.,  445840.,  481390.,  516940.,
      552490.,  21040.,   59965.,   98890.,   137815.,  176740.,  215665.,
      254590.,  293515.,  332440.,  371365.,  410290.,  449215.,  488140.,
      527065.,  565990.,  604915.,  22840.,   65140.,   107440.,  149740.,
      192040.,  234340.,  276640.,  318940.,  361240.,  403540.,  445840.,
      488140.,  530440.,  572740.,  615040.,  657340.,  24640.,   70315.,
      115990.,  161665.,  207340.,  253015.,  298690.,  344365.,  390040.,
      435715.,  481390.,  527065.,  572740.,  618415.,  664090.,  709765.,
      26440.,   75490.,   124540.,  173590.,  222640.,  271690.,  320740.,
      369790.,  418840.,  467890.,  516940.,  565990.,  615040.,  664090.,
      713140.,  762190.,  867040.,  919465.,  971890.,  1024315., 1076740.,
      1129165., 1181590., 1234015., 1286440., 1338865., 1391290., 1443715.,
      1496140., 1548565., 1600990., 1653415., 922840.,  978640.,  1034440.,
      1090240., 1146040., 1201840., 1257640., 1313440., 1369240., 1425040.,
      1480840., 1536640., 1592440., 1648240., 1704040., 1759840., 978640.,
      1037815., 1096990., 1156165., 1215340., 1274515., 1333690., 1392865.,
      1452040., 1511215., 1570390., 1629565., 1688740., 1747915., 1807090.,
      1866265., 1034440., 1096990., 1159540., 1222090., 1284640., 1347190.,
      1409740., 1472290., 1534840., 1597390., 1659940., 1722490., 1785040.,
      1847590., 1910140., 1972690., 1090240., 1156165., 1222090., 1288015.,
      1353940., 1419865., 1485790., 1551715., 1617640., 1683565., 1749490.,
      1815415., 1881340., 1947265., 2013190., 2079115., 1146040., 1215340.,
      1284640., 1353940., 1423240., 1492540., 1561840., 1631140., 1700440.,
      1769740., 1839040., 1908340., 1977640., 2046940., 2116240., 2185540.,
      1201840., 1274515., 1347190., 1419865., 1492540., 1565215., 1637890.,
      1710565., 1783240., 1855915., 1928590., 2001265., 2073940., 2146615.,
      2219290., 2291965., 1257640., 1333690., 1409740., 1485790., 1561840.,
      1637890., 1713940., 1789990., 1866040., 1942090., 2018140., 2094190.,
      2170240., 2246290., 2322340., 2398390., 1313440., 1392865., 1472290.,
      1551715., 1631140., 1710565., 1789990., 1869415., 1948840., 2028265.,
      2107690., 2187115., 2266540., 2345965., 2425390., 2504815., 1369240.,
      1452040., 1534840., 1617640., 1700440., 1783240., 1866040., 1948840.,
      2031640., 2114440., 2197240., 2280040., 2362840., 2445640., 2528440.,
      2611240., 1425040., 1511215., 1597390., 1683565., 1769740., 1855915.,
      1942090., 2028265., 2114440., 2200615., 2286790., 2372965., 2459140.,
      2545315., 2631490., 2717665., 1480840., 1570390., 1659940., 1749490.,
      1839040., 1928590., 2018140., 2107690., 2197240., 2286790., 2376340.,
      2465890., 2555440., 2644990., 2734540., 2824090., 1536640., 1629565.,
      1722490., 1815415., 1908340., 2001265., 2094190., 2187115., 2280040.,
      2372965., 2465890., 2558815., 2651740., 2744665., 2837590., 2930515.,
      1592440., 1688740., 1785040., 1881340., 1977640., 2073940., 2170240.,
      2266540., 2362840., 2459140., 2555440., 2651740., 2748040., 2844340.,
      2940640., 3036940., 1648240., 1747915., 1847590., 1947265., 2046940.,
      2146615., 2246290., 2345965., 2445640., 2545315., 2644990., 2744665.,
      2844340., 2944015., 3043690., 3143365., 3352840., 3455890., 3558940.,
      3661990., 3765040., 3868090., 3971140., 4074190., 4177240., 4280290.,
      4383340., 4486390., 4589440., 4692490., 4795540., 4898590., 3462640.,
      3569065., 3675490., 3781915., 3888340., 3994765., 4101190., 4207615.,
      4314040., 4420465., 4526890., 4633315., 4739740., 4846165., 4952590.,
      5059015., 3572440., 3682240., 3792040., 3901840., 4011640., 4121440.,
      4231240., 4341040., 4450840., 4560640., 4670440., 4780240., 4890040.,
      4999840., 5109640., 5219440., 3682240., 3795415., 3908590., 4021765.,
      4134940., 4248115., 4361290., 4474465., 4587640., 4700815., 4813990.,
      4927165., 5040340., 5153515., 5266690., 5379865., 3792040., 3908590.,
      4025140., 4141690., 4258240., 4374790., 4491340., 4607890., 4724440.,
      4840990., 4957540., 5074090., 5190640., 5307190., 5423740., 5540290.,
      3901840., 4021765., 4141690., 4261615., 4381540., 4501465., 4621390.,
      4741315., 4861240., 4981165., 5101090., 5221015., 5340940., 5460865.,
      5580790., 5700715., 4011640., 4134940., 4258240., 4381540., 4504840.,
      4628140., 4751440., 4874740., 4998040., 5121340., 5244640., 5367940.,
      5491240., 5614540., 5737840., 5861140., 4121440., 4248115., 4374790.,
      4501465., 4628140., 4754815., 4881490., 5008165., 5134840., 5261515.,
      5388190., 5514865., 5641540., 5768215., 5894890., 6021565., 4231240.,
      4361290., 4491340., 4621390., 4751440., 4881490., 5011540., 5141590.,
      5271640., 5401690., 5531740., 5661790., 5791840., 5921890., 6051940.,
      6181990., 4341040., 4474465., 4607890., 4741315., 4874740., 5008165.,
      5141590., 5275015., 5408440., 5541865., 5675290., 5808715., 5942140.,
      6075565., 6208990., 6342415., 4450840., 4587640., 4724440., 4861240.,
      4998040., 5134840., 5271640., 5408440., 5545240., 5682040., 5818840.,
      5955640., 6092440., 6229240., 6366040., 6502840., 4560640., 4700815.,
      4840990., 4981165., 5121340., 5261515., 5401690., 5541865., 5682040.,
      5822215., 5962390., 6102565., 6242740., 6382915., 6523090., 6663265.,
      4670440., 4813990., 4957540., 5101090., 5244640., 5388190., 5531740.,
      5675290., 5818840., 5962390., 6105940., 6249490., 6393040., 6536590.,
      6680140., 6823690., 4780240., 4927165., 5074090., 5221015., 5367940.,
      5514865., 5661790., 5808715., 5955640., 6102565., 6249490., 6396415.,
      6543340., 6690265., 6837190., 6984115., 4890040., 5040340., 5190640.,
      5340940., 5491240., 5641540., 5791840., 5942140., 6092440., 6242740.,
      6393040., 6543340., 6693640., 6843940., 6994240., 7144540.};
  const int batches = 3;
  const int m = 15;
  const int k = 15;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M15xK16xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1496.,    3672.,    5848.,    8024.,    10200.,   12376.,   14552.,
      16728.,   18904.,   21080.,   23256.,   25432.,   27608.,   29784.,
      3672.,    9944.,    16216.,   22488.,   28760.,   35032.,   41304.,
      47576.,   53848.,   60120.,   66392.,   72664.,   78936.,   85208.,
      5848.,    16216.,   26584.,   36952.,   47320.,   57688.,   68056.,
      78424.,   88792.,   99160.,   109528.,  119896.,  130264.,  140632.,
      8024.,    22488.,   36952.,   51416.,   65880.,   80344.,   94808.,
      109272.,  123736.,  138200.,  152664.,  167128.,  181592.,  196056.,
      10200.,   28760.,   47320.,   65880.,   84440.,   103000.,  121560.,
      140120.,  158680.,  177240.,  195800.,  214360.,  232920.,  251480.,
      12376.,   35032.,   57688.,   80344.,   103000.,  125656.,  148312.,
      170968.,  193624.,  216280.,  238936.,  261592.,  284248.,  306904.,
      14552.,   41304.,   68056.,   94808.,   121560.,  148312.,  175064.,
      201816.,  228568.,  255320.,  282072.,  308824.,  335576.,  362328.,
      16728.,   47576.,   78424.,   109272.,  140120.,  170968.,  201816.,
      232664.,  263512.,  294360.,  325208.,  356056.,  386904.,  417752.,
      18904.,   53848.,   88792.,   123736.,  158680.,  193624.,  228568.,
      263512.,  298456.,  333400.,  368344.,  403288.,  438232.,  473176.,
      21080.,   60120.,   99160.,   138200.,  177240.,  216280.,  255320.,
      294360.,  333400.,  372440.,  411480.,  450520.,  489560.,  528600.,
      23256.,   66392.,   109528.,  152664.,  195800.,  238936.,  282072.,
      325208.,  368344.,  411480.,  454616.,  497752.,  540888.,  584024.,
      25432.,   72664.,   119896.,  167128.,  214360.,  261592.,  308824.,
      356056.,  403288.,  450520.,  497752.,  544984.,  592216.,  639448.,
      27608.,   78936.,   130264.,  181592.,  232920.,  284248.,  335576.,
      386904.,  438232.,  489560.,  540888.,  592216.,  643544.,  694872.,
      29784.,   85208.,   140632.,  196056.,  251480.,  306904.,  362328.,
      417752.,  473176.,  528600.,  584024.,  639448.,  694872.,  750296.,
      31960.,   91480.,   151000.,  210520.,  270040.,  329560.,  389080.,
      448600.,  508120.,  567640.,  627160.,  686680.,  746200.,  805720.,
      924760.,  988376.,  1051992., 1115608., 1179224., 1242840., 1306456.,
      1370072., 1433688., 1497304., 1560920., 1624536., 1688152., 1751768.,
      984280.,  1051992., 1119704., 1187416., 1255128., 1322840., 1390552.,
      1458264., 1525976., 1593688., 1661400., 1729112., 1796824., 1864536.,
      1043800., 1115608., 1187416., 1259224., 1331032., 1402840., 1474648.,
      1546456., 1618264., 1690072., 1761880., 1833688., 1905496., 1977304.,
      1103320., 1179224., 1255128., 1331032., 1406936., 1482840., 1558744.,
      1634648., 1710552., 1786456., 1862360., 1938264., 2014168., 2090072.,
      1162840., 1242840., 1322840., 1402840., 1482840., 1562840., 1642840.,
      1722840., 1802840., 1882840., 1962840., 2042840., 2122840., 2202840.,
      1222360., 1306456., 1390552., 1474648., 1558744., 1642840., 1726936.,
      1811032., 1895128., 1979224., 2063320., 2147416., 2231512., 2315608.,
      1281880., 1370072., 1458264., 1546456., 1634648., 1722840., 1811032.,
      1899224., 1987416., 2075608., 2163800., 2251992., 2340184., 2428376.,
      1341400., 1433688., 1525976., 1618264., 1710552., 1802840., 1895128.,
      1987416., 2079704., 2171992., 2264280., 2356568., 2448856., 2541144.,
      1400920., 1497304., 1593688., 1690072., 1786456., 1882840., 1979224.,
      2075608., 2171992., 2268376., 2364760., 2461144., 2557528., 2653912.,
      1460440., 1560920., 1661400., 1761880., 1862360., 1962840., 2063320.,
      2163800., 2264280., 2364760., 2465240., 2565720., 2666200., 2766680.,
      1519960., 1624536., 1729112., 1833688., 1938264., 2042840., 2147416.,
      2251992., 2356568., 2461144., 2565720., 2670296., 2774872., 2879448.,
      1579480., 1688152., 1796824., 1905496., 2014168., 2122840., 2231512.,
      2340184., 2448856., 2557528., 2666200., 2774872., 2883544., 2992216.,
      1639000., 1751768., 1864536., 1977304., 2090072., 2202840., 2315608.,
      2428376., 2541144., 2653912., 2766680., 2879448., 2992216., 3104984.,
      1698520., 1815384., 1932248., 2049112., 2165976., 2282840., 2399704.,
      2516568., 2633432., 2750296., 2867160., 2984024., 3100888., 3217752.,
      1758040., 1879000., 1999960., 2120920., 2241880., 2362840., 2483800.,
      2604760., 2725720., 2846680., 2967640., 3088600., 3209560., 3330520.,
      3568344., 3693400., 3818456., 3943512., 4068568., 4193624., 4318680.,
      4443736., 4568792., 4693848., 4818904., 4943960., 5069016., 5194072.,
      3685208., 3814360., 3943512., 4072664., 4201816., 4330968., 4460120.,
      4589272., 4718424., 4847576., 4976728., 5105880., 5235032., 5364184.,
      3802072., 3935320., 4068568., 4201816., 4335064., 4468312., 4601560.,
      4734808., 4868056., 5001304., 5134552., 5267800., 5401048., 5534296.,
      3918936., 4056280., 4193624., 4330968., 4468312., 4605656., 4743000.,
      4880344., 5017688., 5155032., 5292376., 5429720., 5567064., 5704408.,
      4035800., 4177240., 4318680., 4460120., 4601560., 4743000., 4884440.,
      5025880., 5167320., 5308760., 5450200., 5591640., 5733080., 5874520.,
      4152664., 4298200., 4443736., 4589272., 4734808., 4880344., 5025880.,
      5171416., 5316952., 5462488., 5608024., 5753560., 5899096., 6044632.,
      4269528., 4419160., 4568792., 4718424., 4868056., 5017688., 5167320.,
      5316952., 5466584., 5616216., 5765848., 5915480., 6065112., 6214744.,
      4386392., 4540120., 4693848., 4847576., 5001304., 5155032., 5308760.,
      5462488., 5616216., 5769944., 5923672., 6077400., 6231128., 6384856.,
      4503256., 4661080., 4818904., 4976728., 5134552., 5292376., 5450200.,
      5608024., 5765848., 5923672., 6081496., 6239320., 6397144., 6554968.,
      4620120., 4782040., 4943960., 5105880., 5267800., 5429720., 5591640.,
      5753560., 5915480., 6077400., 6239320., 6401240., 6563160., 6725080.,
      4736984., 4903000., 5069016., 5235032., 5401048., 5567064., 5733080.,
      5899096., 6065112., 6231128., 6397144., 6563160., 6729176., 6895192.,
      4853848., 5023960., 5194072., 5364184., 5534296., 5704408., 5874520.,
      6044632., 6214744., 6384856., 6554968., 6725080., 6895192., 7065304.,
      4970712., 5144920., 5319128., 5493336., 5667544., 5841752., 6015960.,
      6190168., 6364376., 6538584., 6712792., 6887000., 7061208., 7235416.,
      5087576., 5265880., 5444184., 5622488., 5800792., 5979096., 6157400.,
      6335704., 6514008., 6692312., 6870616., 7048920., 7227224., 7405528.,
      5204440., 5386840., 5569240., 5751640., 5934040., 6116440., 6298840.,
      6481240., 6663640., 6846040., 7028440., 7210840., 7393240., 7575640.};
  const int batches = 3;
  const int m = 15;
  const int k = 16;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M15xK16xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1496.,    3672.,    5848.,    8024.,    10200.,   12376.,   14552.,
      16728.,   18904.,   21080.,   23256.,   25432.,   27608.,   29784.,
      31960.,   3672.,    9944.,    16216.,   22488.,   28760.,   35032.,
      41304.,   47576.,   53848.,   60120.,   66392.,   72664.,   78936.,
      85208.,   91480.,   5848.,    16216.,   26584.,   36952.,   47320.,
      57688.,   68056.,   78424.,   88792.,   99160.,   109528.,  119896.,
      130264.,  140632.,  151000.,  8024.,    22488.,   36952.,   51416.,
      65880.,   80344.,   94808.,   109272.,  123736.,  138200.,  152664.,
      167128.,  181592.,  196056.,  210520.,  10200.,   28760.,   47320.,
      65880.,   84440.,   103000.,  121560.,  140120.,  158680.,  177240.,
      195800.,  214360.,  232920.,  251480.,  270040.,  12376.,   35032.,
      57688.,   80344.,   103000.,  125656.,  148312.,  170968.,  193624.,
      216280.,  238936.,  261592.,  284248.,  306904.,  329560.,  14552.,
      41304.,   68056.,   94808.,   121560.,  148312.,  175064.,  201816.,
      228568.,  255320.,  282072.,  308824.,  335576.,  362328.,  389080.,
      16728.,   47576.,   78424.,   109272.,  140120.,  170968.,  201816.,
      232664.,  263512.,  294360.,  325208.,  356056.,  386904.,  417752.,
      448600.,  18904.,   53848.,   88792.,   123736.,  158680.,  193624.,
      228568.,  263512.,  298456.,  333400.,  368344.,  403288.,  438232.,
      473176.,  508120.,  21080.,   60120.,   99160.,   138200.,  177240.,
      216280.,  255320.,  294360.,  333400.,  372440.,  411480.,  450520.,
      489560.,  528600.,  567640.,  23256.,   66392.,   109528.,  152664.,
      195800.,  238936.,  282072.,  325208.,  368344.,  411480.,  454616.,
      497752.,  540888.,  584024.,  627160.,  25432.,   72664.,   119896.,
      167128.,  214360.,  261592.,  308824.,  356056.,  403288.,  450520.,
      497752.,  544984.,  592216.,  639448.,  686680.,  27608.,   78936.,
      130264.,  181592.,  232920.,  284248.,  335576.,  386904.,  438232.,
      489560.,  540888.,  592216.,  643544.,  694872.,  746200.,  29784.,
      85208.,   140632.,  196056.,  251480.,  306904.,  362328.,  417752.,
      473176.,  528600.,  584024.,  639448.,  694872.,  750296.,  805720.,
      31960.,   91480.,   151000.,  210520.,  270040.,  329560.,  389080.,
      448600.,  508120.,  567640.,  627160.,  686680.,  746200.,  805720.,
      865240.,  988376.,  1051992., 1115608., 1179224., 1242840., 1306456.,
      1370072., 1433688., 1497304., 1560920., 1624536., 1688152., 1751768.,
      1815384., 1879000., 1051992., 1119704., 1187416., 1255128., 1322840.,
      1390552., 1458264., 1525976., 1593688., 1661400., 1729112., 1796824.,
      1864536., 1932248., 1999960., 1115608., 1187416., 1259224., 1331032.,
      1402840., 1474648., 1546456., 1618264., 1690072., 1761880., 1833688.,
      1905496., 1977304., 2049112., 2120920., 1179224., 1255128., 1331032.,
      1406936., 1482840., 1558744., 1634648., 1710552., 1786456., 1862360.,
      1938264., 2014168., 2090072., 2165976., 2241880., 1242840., 1322840.,
      1402840., 1482840., 1562840., 1642840., 1722840., 1802840., 1882840.,
      1962840., 2042840., 2122840., 2202840., 2282840., 2362840., 1306456.,
      1390552., 1474648., 1558744., 1642840., 1726936., 1811032., 1895128.,
      1979224., 2063320., 2147416., 2231512., 2315608., 2399704., 2483800.,
      1370072., 1458264., 1546456., 1634648., 1722840., 1811032., 1899224.,
      1987416., 2075608., 2163800., 2251992., 2340184., 2428376., 2516568.,
      2604760., 1433688., 1525976., 1618264., 1710552., 1802840., 1895128.,
      1987416., 2079704., 2171992., 2264280., 2356568., 2448856., 2541144.,
      2633432., 2725720., 1497304., 1593688., 1690072., 1786456., 1882840.,
      1979224., 2075608., 2171992., 2268376., 2364760., 2461144., 2557528.,
      2653912., 2750296., 2846680., 1560920., 1661400., 1761880., 1862360.,
      1962840., 2063320., 2163800., 2264280., 2364760., 2465240., 2565720.,
      2666200., 2766680., 2867160., 2967640., 1624536., 1729112., 1833688.,
      1938264., 2042840., 2147416., 2251992., 2356568., 2461144., 2565720.,
      2670296., 2774872., 2879448., 2984024., 3088600., 1688152., 1796824.,
      1905496., 2014168., 2122840., 2231512., 2340184., 2448856., 2557528.,
      2666200., 2774872., 2883544., 2992216., 3100888., 3209560., 1751768.,
      1864536., 1977304., 2090072., 2202840., 2315608., 2428376., 2541144.,
      2653912., 2766680., 2879448., 2992216., 3104984., 3217752., 3330520.,
      1815384., 1932248., 2049112., 2165976., 2282840., 2399704., 2516568.,
      2633432., 2750296., 2867160., 2984024., 3100888., 3217752., 3334616.,
      3451480., 1879000., 1999960., 2120920., 2241880., 2362840., 2483800.,
      2604760., 2725720., 2846680., 2967640., 3088600., 3209560., 3330520.,
      3451480., 3572440., 3818456., 3943512., 4068568., 4193624., 4318680.,
      4443736., 4568792., 4693848., 4818904., 4943960., 5069016., 5194072.,
      5319128., 5444184., 5569240., 3943512., 4072664., 4201816., 4330968.,
      4460120., 4589272., 4718424., 4847576., 4976728., 5105880., 5235032.,
      5364184., 5493336., 5622488., 5751640., 4068568., 4201816., 4335064.,
      4468312., 4601560., 4734808., 4868056., 5001304., 5134552., 5267800.,
      5401048., 5534296., 5667544., 5800792., 5934040., 4193624., 4330968.,
      4468312., 4605656., 4743000., 4880344., 5017688., 5155032., 5292376.,
      5429720., 5567064., 5704408., 5841752., 5979096., 6116440., 4318680.,
      4460120., 4601560., 4743000., 4884440., 5025880., 5167320., 5308760.,
      5450200., 5591640., 5733080., 5874520., 6015960., 6157400., 6298840.,
      4443736., 4589272., 4734808., 4880344., 5025880., 5171416., 5316952.,
      5462488., 5608024., 5753560., 5899096., 6044632., 6190168., 6335704.,
      6481240., 4568792., 4718424., 4868056., 5017688., 5167320., 5316952.,
      5466584., 5616216., 5765848., 5915480., 6065112., 6214744., 6364376.,
      6514008., 6663640., 4693848., 4847576., 5001304., 5155032., 5308760.,
      5462488., 5616216., 5769944., 5923672., 6077400., 6231128., 6384856.,
      6538584., 6692312., 6846040., 4818904., 4976728., 5134552., 5292376.,
      5450200., 5608024., 5765848., 5923672., 6081496., 6239320., 6397144.,
      6554968., 6712792., 6870616., 7028440., 4943960., 5105880., 5267800.,
      5429720., 5591640., 5753560., 5915480., 6077400., 6239320., 6401240.,
      6563160., 6725080., 6887000., 7048920., 7210840., 5069016., 5235032.,
      5401048., 5567064., 5733080., 5899096., 6065112., 6231128., 6397144.,
      6563160., 6729176., 6895192., 7061208., 7227224., 7393240., 5194072.,
      5364184., 5534296., 5704408., 5874520., 6044632., 6214744., 6384856.,
      6554968., 6725080., 6895192., 7065304., 7235416., 7405528., 7575640.,
      5319128., 5493336., 5667544., 5841752., 6015960., 6190168., 6364376.,
      6538584., 6712792., 6887000., 7061208., 7235416., 7409624., 7583832.,
      7758040., 5444184., 5622488., 5800792., 5979096., 6157400., 6335704.,
      6514008., 6692312., 6870616., 7048920., 7227224., 7405528., 7583832.,
      7762136., 7940440., 5569240., 5751640., 5934040., 6116440., 6298840.,
      6481240., 6663640., 6846040., 7028440., 7210840., 7393240., 7575640.,
      7758040., 7940440., 8122840.};
  const int batches = 3;
  const int m = 15;
  const int k = 16;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M15xK16xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1496.,    3672.,    5848.,    8024.,    10200.,   12376.,   14552.,
      16728.,   18904.,   21080.,   23256.,   25432.,   27608.,   29784.,
      31960.,   34136.,   3672.,    9944.,    16216.,   22488.,   28760.,
      35032.,   41304.,   47576.,   53848.,   60120.,   66392.,   72664.,
      78936.,   85208.,   91480.,   97752.,   5848.,    16216.,   26584.,
      36952.,   47320.,   57688.,   68056.,   78424.,   88792.,   99160.,
      109528.,  119896.,  130264.,  140632.,  151000.,  161368.,  8024.,
      22488.,   36952.,   51416.,   65880.,   80344.,   94808.,   109272.,
      123736.,  138200.,  152664.,  167128.,  181592.,  196056.,  210520.,
      224984.,  10200.,   28760.,   47320.,   65880.,   84440.,   103000.,
      121560.,  140120.,  158680.,  177240.,  195800.,  214360.,  232920.,
      251480.,  270040.,  288600.,  12376.,   35032.,   57688.,   80344.,
      103000.,  125656.,  148312.,  170968.,  193624.,  216280.,  238936.,
      261592.,  284248.,  306904.,  329560.,  352216.,  14552.,   41304.,
      68056.,   94808.,   121560.,  148312.,  175064.,  201816.,  228568.,
      255320.,  282072.,  308824.,  335576.,  362328.,  389080.,  415832.,
      16728.,   47576.,   78424.,   109272.,  140120.,  170968.,  201816.,
      232664.,  263512.,  294360.,  325208.,  356056.,  386904.,  417752.,
      448600.,  479448.,  18904.,   53848.,   88792.,   123736.,  158680.,
      193624.,  228568.,  263512.,  298456.,  333400.,  368344.,  403288.,
      438232.,  473176.,  508120.,  543064.,  21080.,   60120.,   99160.,
      138200.,  177240.,  216280.,  255320.,  294360.,  333400.,  372440.,
      411480.,  450520.,  489560.,  528600.,  567640.,  606680.,  23256.,
      66392.,   109528.,  152664.,  195800.,  238936.,  282072.,  325208.,
      368344.,  411480.,  454616.,  497752.,  540888.,  584024.,  627160.,
      670296.,  25432.,   72664.,   119896.,  167128.,  214360.,  261592.,
      308824.,  356056.,  403288.,  450520.,  497752.,  544984.,  592216.,
      639448.,  686680.,  733912.,  27608.,   78936.,   130264.,  181592.,
      232920.,  284248.,  335576.,  386904.,  438232.,  489560.,  540888.,
      592216.,  643544.,  694872.,  746200.,  797528.,  29784.,   85208.,
      140632.,  196056.,  251480.,  306904.,  362328.,  417752.,  473176.,
      528600.,  584024.,  639448.,  694872.,  750296.,  805720.,  861144.,
      31960.,   91480.,   151000.,  210520.,  270040.,  329560.,  389080.,
      448600.,  508120.,  567640.,  627160.,  686680.,  746200.,  805720.,
      865240.,  924760.,  1051992., 1115608., 1179224., 1242840., 1306456.,
      1370072., 1433688., 1497304., 1560920., 1624536., 1688152., 1751768.,
      1815384., 1879000., 1942616., 2006232., 1119704., 1187416., 1255128.,
      1322840., 1390552., 1458264., 1525976., 1593688., 1661400., 1729112.,
      1796824., 1864536., 1932248., 1999960., 2067672., 2135384., 1187416.,
      1259224., 1331032., 1402840., 1474648., 1546456., 1618264., 1690072.,
      1761880., 1833688., 1905496., 1977304., 2049112., 2120920., 2192728.,
      2264536., 1255128., 1331032., 1406936., 1482840., 1558744., 1634648.,
      1710552., 1786456., 1862360., 1938264., 2014168., 2090072., 2165976.,
      2241880., 2317784., 2393688., 1322840., 1402840., 1482840., 1562840.,
      1642840., 1722840., 1802840., 1882840., 1962840., 2042840., 2122840.,
      2202840., 2282840., 2362840., 2442840., 2522840., 1390552., 1474648.,
      1558744., 1642840., 1726936., 1811032., 1895128., 1979224., 2063320.,
      2147416., 2231512., 2315608., 2399704., 2483800., 2567896., 2651992.,
      1458264., 1546456., 1634648., 1722840., 1811032., 1899224., 1987416.,
      2075608., 2163800., 2251992., 2340184., 2428376., 2516568., 2604760.,
      2692952., 2781144., 1525976., 1618264., 1710552., 1802840., 1895128.,
      1987416., 2079704., 2171992., 2264280., 2356568., 2448856., 2541144.,
      2633432., 2725720., 2818008., 2910296., 1593688., 1690072., 1786456.,
      1882840., 1979224., 2075608., 2171992., 2268376., 2364760., 2461144.,
      2557528., 2653912., 2750296., 2846680., 2943064., 3039448., 1661400.,
      1761880., 1862360., 1962840., 2063320., 2163800., 2264280., 2364760.,
      2465240., 2565720., 2666200., 2766680., 2867160., 2967640., 3068120.,
      3168600., 1729112., 1833688., 1938264., 2042840., 2147416., 2251992.,
      2356568., 2461144., 2565720., 2670296., 2774872., 2879448., 2984024.,
      3088600., 3193176., 3297752., 1796824., 1905496., 2014168., 2122840.,
      2231512., 2340184., 2448856., 2557528., 2666200., 2774872., 2883544.,
      2992216., 3100888., 3209560., 3318232., 3426904., 1864536., 1977304.,
      2090072., 2202840., 2315608., 2428376., 2541144., 2653912., 2766680.,
      2879448., 2992216., 3104984., 3217752., 3330520., 3443288., 3556056.,
      1932248., 2049112., 2165976., 2282840., 2399704., 2516568., 2633432.,
      2750296., 2867160., 2984024., 3100888., 3217752., 3334616., 3451480.,
      3568344., 3685208., 1999960., 2120920., 2241880., 2362840., 2483800.,
      2604760., 2725720., 2846680., 2967640., 3088600., 3209560., 3330520.,
      3451480., 3572440., 3693400., 3814360., 4068568., 4193624., 4318680.,
      4443736., 4568792., 4693848., 4818904., 4943960., 5069016., 5194072.,
      5319128., 5444184., 5569240., 5694296., 5819352., 5944408., 4201816.,
      4330968., 4460120., 4589272., 4718424., 4847576., 4976728., 5105880.,
      5235032., 5364184., 5493336., 5622488., 5751640., 5880792., 6009944.,
      6139096., 4335064., 4468312., 4601560., 4734808., 4868056., 5001304.,
      5134552., 5267800., 5401048., 5534296., 5667544., 5800792., 5934040.,
      6067288., 6200536., 6333784., 4468312., 4605656., 4743000., 4880344.,
      5017688., 5155032., 5292376., 5429720., 5567064., 5704408., 5841752.,
      5979096., 6116440., 6253784., 6391128., 6528472., 4601560., 4743000.,
      4884440., 5025880., 5167320., 5308760., 5450200., 5591640., 5733080.,
      5874520., 6015960., 6157400., 6298840., 6440280., 6581720., 6723160.,
      4734808., 4880344., 5025880., 5171416., 5316952., 5462488., 5608024.,
      5753560., 5899096., 6044632., 6190168., 6335704., 6481240., 6626776.,
      6772312., 6917848., 4868056., 5017688., 5167320., 5316952., 5466584.,
      5616216., 5765848., 5915480., 6065112., 6214744., 6364376., 6514008.,
      6663640., 6813272., 6962904., 7112536., 5001304., 5155032., 5308760.,
      5462488., 5616216., 5769944., 5923672., 6077400., 6231128., 6384856.,
      6538584., 6692312., 6846040., 6999768., 7153496., 7307224., 5134552.,
      5292376., 5450200., 5608024., 5765848., 5923672., 6081496., 6239320.,
      6397144., 6554968., 6712792., 6870616., 7028440., 7186264., 7344088.,
      7501912., 5267800., 5429720., 5591640., 5753560., 5915480., 6077400.,
      6239320., 6401240., 6563160., 6725080., 6887000., 7048920., 7210840.,
      7372760., 7534680., 7696600., 5401048., 5567064., 5733080., 5899096.,
      6065112., 6231128., 6397144., 6563160., 6729176., 6895192., 7061208.,
      7227224., 7393240., 7559256., 7725272., 7891288., 5534296., 5704408.,
      5874520., 6044632., 6214744., 6384856., 6554968., 6725080., 6895192.,
      7065304., 7235416., 7405528., 7575640., 7745752., 7915864., 8085976.,
      5667544., 5841752., 6015960., 6190168., 6364376., 6538584., 6712792.,
      6887000., 7061208., 7235416., 7409624., 7583832., 7758040., 7932248.,
      8106456., 8280664., 5800792., 5979096., 6157400., 6335704., 6514008.,
      6692312., 6870616., 7048920., 7227224., 7405528., 7583832., 7762136.,
      7940440., 8118744., 8297048., 8475352., 5934040., 6116440., 6298840.,
      6481240., 6663640., 6846040., 7028440., 7210840., 7393240., 7575640.,
      7758040., 7940440., 8122840., 8305240., 8487640., 8670040.};
  const int batches = 3;
  const int m = 15;
  const int k = 16;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M16xK14xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1015.,    2485.,    3955.,    5425.,    6895.,    8365.,    9835.,
      11305.,   12775.,   14245.,   15715.,   17185.,   18655.,   20125.,
      2485.,    6699.,    10913.,   15127.,   19341.,   23555.,   27769.,
      31983.,   36197.,   40411.,   44625.,   48839.,   53053.,   57267.,
      3955.,    10913.,   17871.,   24829.,   31787.,   38745.,   45703.,
      52661.,   59619.,   66577.,   73535.,   80493.,   87451.,   94409.,
      5425.,    15127.,   24829.,   34531.,   44233.,   53935.,   63637.,
      73339.,   83041.,   92743.,   102445.,  112147.,  121849.,  131551.,
      6895.,    19341.,   31787.,   44233.,   56679.,   69125.,   81571.,
      94017.,   106463.,  118909.,  131355.,  143801.,  156247.,  168693.,
      8365.,    23555.,   38745.,   53935.,   69125.,   84315.,   99505.,
      114695.,  129885.,  145075.,  160265.,  175455.,  190645.,  205835.,
      9835.,    27769.,   45703.,   63637.,   81571.,   99505.,   117439.,
      135373.,  153307.,  171241.,  189175.,  207109.,  225043.,  242977.,
      11305.,   31983.,   52661.,   73339.,   94017.,   114695.,  135373.,
      156051.,  176729.,  197407.,  218085.,  238763.,  259441.,  280119.,
      12775.,   36197.,   59619.,   83041.,   106463.,  129885.,  153307.,
      176729.,  200151.,  223573.,  246995.,  270417.,  293839.,  317261.,
      14245.,   40411.,   66577.,   92743.,   118909.,  145075.,  171241.,
      197407.,  223573.,  249739.,  275905.,  302071.,  328237.,  354403.,
      15715.,   44625.,   73535.,   102445.,  131355.,  160265.,  189175.,
      218085.,  246995.,  275905.,  304815.,  333725.,  362635.,  391545.,
      17185.,   48839.,   80493.,   112147.,  143801.,  175455.,  207109.,
      238763.,  270417.,  302071.,  333725.,  365379.,  397033.,  428687.,
      18655.,   53053.,   87451.,   121849.,  156247.,  190645.,  225043.,
      259441.,  293839.,  328237.,  362635.,  397033.,  431431.,  465829.,
      20125.,   57267.,   94409.,   131551.,  168693.,  205835.,  242977.,
      280119.,  317261.,  354403.,  391545.,  428687.,  465829.,  502971.,
      21595.,   61481.,   101367.,  141253.,  181139.,  221025.,  260911.,
      300797.,  340683.,  380569.,  420455.,  460341.,  500227.,  540113.,
      23065.,   65695.,   108325.,  150955.,  193585.,  236215.,  278845.,
      321475.,  364105.,  406735.,  449365.,  491995.,  534625.,  577255.,
      659771.,  705145.,  750519.,  795893.,  841267.,  886641.,  932015.,
      977389.,  1022763., 1068137., 1113511., 1158885., 1204259., 1249633.,
      699657.,  747775.,  795893.,  844011.,  892129.,  940247.,  988365.,
      1036483., 1084601., 1132719., 1180837., 1228955., 1277073., 1325191.,
      739543.,  790405.,  841267.,  892129.,  942991.,  993853.,  1044715.,
      1095577., 1146439., 1197301., 1248163., 1299025., 1349887., 1400749.,
      779429.,  833035.,  886641.,  940247.,  993853.,  1047459., 1101065.,
      1154671., 1208277., 1261883., 1315489., 1369095., 1422701., 1476307.,
      819315.,  875665.,  932015.,  988365.,  1044715., 1101065., 1157415.,
      1213765., 1270115., 1326465., 1382815., 1439165., 1495515., 1551865.,
      859201.,  918295.,  977389.,  1036483., 1095577., 1154671., 1213765.,
      1272859., 1331953., 1391047., 1450141., 1509235., 1568329., 1627423.,
      899087.,  960925.,  1022763., 1084601., 1146439., 1208277., 1270115.,
      1331953., 1393791., 1455629., 1517467., 1579305., 1641143., 1702981.,
      938973.,  1003555., 1068137., 1132719., 1197301., 1261883., 1326465.,
      1391047., 1455629., 1520211., 1584793., 1649375., 1713957., 1778539.,
      978859.,  1046185., 1113511., 1180837., 1248163., 1315489., 1382815.,
      1450141., 1517467., 1584793., 1652119., 1719445., 1786771., 1854097.,
      1018745., 1088815., 1158885., 1228955., 1299025., 1369095., 1439165.,
      1509235., 1579305., 1649375., 1719445., 1789515., 1859585., 1929655.,
      1058631., 1131445., 1204259., 1277073., 1349887., 1422701., 1495515.,
      1568329., 1641143., 1713957., 1786771., 1859585., 1932399., 2005213.,
      1098517., 1174075., 1249633., 1325191., 1400749., 1476307., 1551865.,
      1627423., 1702981., 1778539., 1854097., 1929655., 2005213., 2080771.,
      1138403., 1216705., 1295007., 1373309., 1451611., 1529913., 1608215.,
      1686517., 1764819., 1843121., 1921423., 1999725., 2078027., 2156329.,
      1178289., 1259335., 1340381., 1421427., 1502473., 1583519., 1664565.,
      1745611., 1826657., 1907703., 1988749., 2069795., 2150841., 2231887.,
      1218175., 1301965., 1385755., 1469545., 1553335., 1637125., 1720915.,
      1804705., 1888495., 1972285., 2056075., 2139865., 2223655., 2307445.,
      1258061., 1344595., 1431129., 1517663., 1604197., 1690731., 1777265.,
      1863799., 1950333., 2036867., 2123401., 2209935., 2296469., 2383003.,
      2547839., 2637117., 2726395., 2815673., 2904951., 2994229., 3083507.,
      3172785., 3262063., 3351341., 3440619., 3529897., 3619175., 3708453.,
      2626141., 2718163., 2810185., 2902207., 2994229., 3086251., 3178273.,
      3270295., 3362317., 3454339., 3546361., 3638383., 3730405., 3822427.,
      2704443., 2799209., 2893975., 2988741., 3083507., 3178273., 3273039.,
      3367805., 3462571., 3557337., 3652103., 3746869., 3841635., 3936401.,
      2782745., 2880255., 2977765., 3075275., 3172785., 3270295., 3367805.,
      3465315., 3562825., 3660335., 3757845., 3855355., 3952865., 4050375.,
      2861047., 2961301., 3061555., 3161809., 3262063., 3362317., 3462571.,
      3562825., 3663079., 3763333., 3863587., 3963841., 4064095., 4164349.,
      2939349., 3042347., 3145345., 3248343., 3351341., 3454339., 3557337.,
      3660335., 3763333., 3866331., 3969329., 4072327., 4175325., 4278323.,
      3017651., 3123393., 3229135., 3334877., 3440619., 3546361., 3652103.,
      3757845., 3863587., 3969329., 4075071., 4180813., 4286555., 4392297.,
      3095953., 3204439., 3312925., 3421411., 3529897., 3638383., 3746869.,
      3855355., 3963841., 4072327., 4180813., 4289299., 4397785., 4506271.,
      3174255., 3285485., 3396715., 3507945., 3619175., 3730405., 3841635.,
      3952865., 4064095., 4175325., 4286555., 4397785., 4509015., 4620245.,
      3252557., 3366531., 3480505., 3594479., 3708453., 3822427., 3936401.,
      4050375., 4164349., 4278323., 4392297., 4506271., 4620245., 4734219.,
      3330859., 3447577., 3564295., 3681013., 3797731., 3914449., 4031167.,
      4147885., 4264603., 4381321., 4498039., 4614757., 4731475., 4848193.,
      3409161., 3528623., 3648085., 3767547., 3887009., 4006471., 4125933.,
      4245395., 4364857., 4484319., 4603781., 4723243., 4842705., 4962167.,
      3487463., 3609669., 3731875., 3854081., 3976287., 4098493., 4220699.,
      4342905., 4465111., 4587317., 4709523., 4831729., 4953935., 5076141.,
      3565765., 3690715., 3815665., 3940615., 4065565., 4190515., 4315465.,
      4440415., 4565365., 4690315., 4815265., 4940215., 5065165., 5190115.,
      3644067., 3771761., 3899455., 4027149., 4154843., 4282537., 4410231.,
      4537925., 4665619., 4793313., 4921007., 5048701., 5176395., 5304089.,
      3722369., 3852807., 3983245., 4113683., 4244121., 4374559., 4504997.,
      4635435., 4765873., 4896311., 5026749., 5157187., 5287625., 5418063.};
  const int batches = 3;
  const int m = 16;
  const int k = 14;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M16xK14xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1015.,    2485.,    3955.,    5425.,    6895.,    8365.,    9835.,
      11305.,   12775.,   14245.,   15715.,   17185.,   18655.,   20125.,
      21595.,   2485.,    6699.,    10913.,   15127.,   19341.,   23555.,
      27769.,   31983.,   36197.,   40411.,   44625.,   48839.,   53053.,
      57267.,   61481.,   3955.,    10913.,   17871.,   24829.,   31787.,
      38745.,   45703.,   52661.,   59619.,   66577.,   73535.,   80493.,
      87451.,   94409.,   101367.,  5425.,    15127.,   24829.,   34531.,
      44233.,   53935.,   63637.,   73339.,   83041.,   92743.,   102445.,
      112147.,  121849.,  131551.,  141253.,  6895.,    19341.,   31787.,
      44233.,   56679.,   69125.,   81571.,   94017.,   106463.,  118909.,
      131355.,  143801.,  156247.,  168693.,  181139.,  8365.,    23555.,
      38745.,   53935.,   69125.,   84315.,   99505.,   114695.,  129885.,
      145075.,  160265.,  175455.,  190645.,  205835.,  221025.,  9835.,
      27769.,   45703.,   63637.,   81571.,   99505.,   117439.,  135373.,
      153307.,  171241.,  189175.,  207109.,  225043.,  242977.,  260911.,
      11305.,   31983.,   52661.,   73339.,   94017.,   114695.,  135373.,
      156051.,  176729.,  197407.,  218085.,  238763.,  259441.,  280119.,
      300797.,  12775.,   36197.,   59619.,   83041.,   106463.,  129885.,
      153307.,  176729.,  200151.,  223573.,  246995.,  270417.,  293839.,
      317261.,  340683.,  14245.,   40411.,   66577.,   92743.,   118909.,
      145075.,  171241.,  197407.,  223573.,  249739.,  275905.,  302071.,
      328237.,  354403.,  380569.,  15715.,   44625.,   73535.,   102445.,
      131355.,  160265.,  189175.,  218085.,  246995.,  275905.,  304815.,
      333725.,  362635.,  391545.,  420455.,  17185.,   48839.,   80493.,
      112147.,  143801.,  175455.,  207109.,  238763.,  270417.,  302071.,
      333725.,  365379.,  397033.,  428687.,  460341.,  18655.,   53053.,
      87451.,   121849.,  156247.,  190645.,  225043.,  259441.,  293839.,
      328237.,  362635.,  397033.,  431431.,  465829.,  500227.,  20125.,
      57267.,   94409.,   131551.,  168693.,  205835.,  242977.,  280119.,
      317261.,  354403.,  391545.,  428687.,  465829.,  502971.,  540113.,
      21595.,   61481.,   101367.,  141253.,  181139.,  221025.,  260911.,
      300797.,  340683.,  380569.,  420455.,  460341.,  500227.,  540113.,
      579999.,  23065.,   65695.,   108325.,  150955.,  193585.,  236215.,
      278845.,  321475.,  364105.,  406735.,  449365.,  491995.,  534625.,
      577255.,  619885.,  705145.,  750519.,  795893.,  841267.,  886641.,
      932015.,  977389.,  1022763., 1068137., 1113511., 1158885., 1204259.,
      1249633., 1295007., 1340381., 747775.,  795893.,  844011.,  892129.,
      940247.,  988365.,  1036483., 1084601., 1132719., 1180837., 1228955.,
      1277073., 1325191., 1373309., 1421427., 790405.,  841267.,  892129.,
      942991.,  993853.,  1044715., 1095577., 1146439., 1197301., 1248163.,
      1299025., 1349887., 1400749., 1451611., 1502473., 833035.,  886641.,
      940247.,  993853.,  1047459., 1101065., 1154671., 1208277., 1261883.,
      1315489., 1369095., 1422701., 1476307., 1529913., 1583519., 875665.,
      932015.,  988365.,  1044715., 1101065., 1157415., 1213765., 1270115.,
      1326465., 1382815., 1439165., 1495515., 1551865., 1608215., 1664565.,
      918295.,  977389.,  1036483., 1095577., 1154671., 1213765., 1272859.,
      1331953., 1391047., 1450141., 1509235., 1568329., 1627423., 1686517.,
      1745611., 960925.,  1022763., 1084601., 1146439., 1208277., 1270115.,
      1331953., 1393791., 1455629., 1517467., 1579305., 1641143., 1702981.,
      1764819., 1826657., 1003555., 1068137., 1132719., 1197301., 1261883.,
      1326465., 1391047., 1455629., 1520211., 1584793., 1649375., 1713957.,
      1778539., 1843121., 1907703., 1046185., 1113511., 1180837., 1248163.,
      1315489., 1382815., 1450141., 1517467., 1584793., 1652119., 1719445.,
      1786771., 1854097., 1921423., 1988749., 1088815., 1158885., 1228955.,
      1299025., 1369095., 1439165., 1509235., 1579305., 1649375., 1719445.,
      1789515., 1859585., 1929655., 1999725., 2069795., 1131445., 1204259.,
      1277073., 1349887., 1422701., 1495515., 1568329., 1641143., 1713957.,
      1786771., 1859585., 1932399., 2005213., 2078027., 2150841., 1174075.,
      1249633., 1325191., 1400749., 1476307., 1551865., 1627423., 1702981.,
      1778539., 1854097., 1929655., 2005213., 2080771., 2156329., 2231887.,
      1216705., 1295007., 1373309., 1451611., 1529913., 1608215., 1686517.,
      1764819., 1843121., 1921423., 1999725., 2078027., 2156329., 2234631.,
      2312933., 1259335., 1340381., 1421427., 1502473., 1583519., 1664565.,
      1745611., 1826657., 1907703., 1988749., 2069795., 2150841., 2231887.,
      2312933., 2393979., 1301965., 1385755., 1469545., 1553335., 1637125.,
      1720915., 1804705., 1888495., 1972285., 2056075., 2139865., 2223655.,
      2307445., 2391235., 2475025., 1344595., 1431129., 1517663., 1604197.,
      1690731., 1777265., 1863799., 1950333., 2036867., 2123401., 2209935.,
      2296469., 2383003., 2469537., 2556071., 2726395., 2815673., 2904951.,
      2994229., 3083507., 3172785., 3262063., 3351341., 3440619., 3529897.,
      3619175., 3708453., 3797731., 3887009., 3976287., 2810185., 2902207.,
      2994229., 3086251., 3178273., 3270295., 3362317., 3454339., 3546361.,
      3638383., 3730405., 3822427., 3914449., 4006471., 4098493., 2893975.,
      2988741., 3083507., 3178273., 3273039., 3367805., 3462571., 3557337.,
      3652103., 3746869., 3841635., 3936401., 4031167., 4125933., 4220699.,
      2977765., 3075275., 3172785., 3270295., 3367805., 3465315., 3562825.,
      3660335., 3757845., 3855355., 3952865., 4050375., 4147885., 4245395.,
      4342905., 3061555., 3161809., 3262063., 3362317., 3462571., 3562825.,
      3663079., 3763333., 3863587., 3963841., 4064095., 4164349., 4264603.,
      4364857., 4465111., 3145345., 3248343., 3351341., 3454339., 3557337.,
      3660335., 3763333., 3866331., 3969329., 4072327., 4175325., 4278323.,
      4381321., 4484319., 4587317., 3229135., 3334877., 3440619., 3546361.,
      3652103., 3757845., 3863587., 3969329., 4075071., 4180813., 4286555.,
      4392297., 4498039., 4603781., 4709523., 3312925., 3421411., 3529897.,
      3638383., 3746869., 3855355., 3963841., 4072327., 4180813., 4289299.,
      4397785., 4506271., 4614757., 4723243., 4831729., 3396715., 3507945.,
      3619175., 3730405., 3841635., 3952865., 4064095., 4175325., 4286555.,
      4397785., 4509015., 4620245., 4731475., 4842705., 4953935., 3480505.,
      3594479., 3708453., 3822427., 3936401., 4050375., 4164349., 4278323.,
      4392297., 4506271., 4620245., 4734219., 4848193., 4962167., 5076141.,
      3564295., 3681013., 3797731., 3914449., 4031167., 4147885., 4264603.,
      4381321., 4498039., 4614757., 4731475., 4848193., 4964911., 5081629.,
      5198347., 3648085., 3767547., 3887009., 4006471., 4125933., 4245395.,
      4364857., 4484319., 4603781., 4723243., 4842705., 4962167., 5081629.,
      5201091., 5320553., 3731875., 3854081., 3976287., 4098493., 4220699.,
      4342905., 4465111., 4587317., 4709523., 4831729., 4953935., 5076141.,
      5198347., 5320553., 5442759., 3815665., 3940615., 4065565., 4190515.,
      4315465., 4440415., 4565365., 4690315., 4815265., 4940215., 5065165.,
      5190115., 5315065., 5440015., 5564965., 3899455., 4027149., 4154843.,
      4282537., 4410231., 4537925., 4665619., 4793313., 4921007., 5048701.,
      5176395., 5304089., 5431783., 5559477., 5687171., 3983245., 4113683.,
      4244121., 4374559., 4504997., 4635435., 4765873., 4896311., 5026749.,
      5157187., 5287625., 5418063., 5548501., 5678939., 5809377.};
  const int batches = 3;
  const int m = 16;
  const int k = 14;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M16xK14xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1015.,    2485.,    3955.,    5425.,    6895.,    8365.,    9835.,
      11305.,   12775.,   14245.,   15715.,   17185.,   18655.,   20125.,
      21595.,   23065.,   2485.,    6699.,    10913.,   15127.,   19341.,
      23555.,   27769.,   31983.,   36197.,   40411.,   44625.,   48839.,
      53053.,   57267.,   61481.,   65695.,   3955.,    10913.,   17871.,
      24829.,   31787.,   38745.,   45703.,   52661.,   59619.,   66577.,
      73535.,   80493.,   87451.,   94409.,   101367.,  108325.,  5425.,
      15127.,   24829.,   34531.,   44233.,   53935.,   63637.,   73339.,
      83041.,   92743.,   102445.,  112147.,  121849.,  131551.,  141253.,
      150955.,  6895.,    19341.,   31787.,   44233.,   56679.,   69125.,
      81571.,   94017.,   106463.,  118909.,  131355.,  143801.,  156247.,
      168693.,  181139.,  193585.,  8365.,    23555.,   38745.,   53935.,
      69125.,   84315.,   99505.,   114695.,  129885.,  145075.,  160265.,
      175455.,  190645.,  205835.,  221025.,  236215.,  9835.,    27769.,
      45703.,   63637.,   81571.,   99505.,   117439.,  135373.,  153307.,
      171241.,  189175.,  207109.,  225043.,  242977.,  260911.,  278845.,
      11305.,   31983.,   52661.,   73339.,   94017.,   114695.,  135373.,
      156051.,  176729.,  197407.,  218085.,  238763.,  259441.,  280119.,
      300797.,  321475.,  12775.,   36197.,   59619.,   83041.,   106463.,
      129885.,  153307.,  176729.,  200151.,  223573.,  246995.,  270417.,
      293839.,  317261.,  340683.,  364105.,  14245.,   40411.,   66577.,
      92743.,   118909.,  145075.,  171241.,  197407.,  223573.,  249739.,
      275905.,  302071.,  328237.,  354403.,  380569.,  406735.,  15715.,
      44625.,   73535.,   102445.,  131355.,  160265.,  189175.,  218085.,
      246995.,  275905.,  304815.,  333725.,  362635.,  391545.,  420455.,
      449365.,  17185.,   48839.,   80493.,   112147.,  143801.,  175455.,
      207109.,  238763.,  270417.,  302071.,  333725.,  365379.,  397033.,
      428687.,  460341.,  491995.,  18655.,   53053.,   87451.,   121849.,
      156247.,  190645.,  225043.,  259441.,  293839.,  328237.,  362635.,
      397033.,  431431.,  465829.,  500227.,  534625.,  20125.,   57267.,
      94409.,   131551.,  168693.,  205835.,  242977.,  280119.,  317261.,
      354403.,  391545.,  428687.,  465829.,  502971.,  540113.,  577255.,
      21595.,   61481.,   101367.,  141253.,  181139.,  221025.,  260911.,
      300797.,  340683.,  380569.,  420455.,  460341.,  500227.,  540113.,
      579999.,  619885.,  23065.,   65695.,   108325.,  150955.,  193585.,
      236215.,  278845.,  321475.,  364105.,  406735.,  449365.,  491995.,
      534625.,  577255.,  619885.,  662515.,  750519.,  795893.,  841267.,
      886641.,  932015.,  977389.,  1022763., 1068137., 1113511., 1158885.,
      1204259., 1249633., 1295007., 1340381., 1385755., 1431129., 795893.,
      844011.,  892129.,  940247.,  988365.,  1036483., 1084601., 1132719.,
      1180837., 1228955., 1277073., 1325191., 1373309., 1421427., 1469545.,
      1517663., 841267.,  892129.,  942991.,  993853.,  1044715., 1095577.,
      1146439., 1197301., 1248163., 1299025., 1349887., 1400749., 1451611.,
      1502473., 1553335., 1604197., 886641.,  940247.,  993853.,  1047459.,
      1101065., 1154671., 1208277., 1261883., 1315489., 1369095., 1422701.,
      1476307., 1529913., 1583519., 1637125., 1690731., 932015.,  988365.,
      1044715., 1101065., 1157415., 1213765., 1270115., 1326465., 1382815.,
      1439165., 1495515., 1551865., 1608215., 1664565., 1720915., 1777265.,
      977389.,  1036483., 1095577., 1154671., 1213765., 1272859., 1331953.,
      1391047., 1450141., 1509235., 1568329., 1627423., 1686517., 1745611.,
      1804705., 1863799., 1022763., 1084601., 1146439., 1208277., 1270115.,
      1331953., 1393791., 1455629., 1517467., 1579305., 1641143., 1702981.,
      1764819., 1826657., 1888495., 1950333., 1068137., 1132719., 1197301.,
      1261883., 1326465., 1391047., 1455629., 1520211., 1584793., 1649375.,
      1713957., 1778539., 1843121., 1907703., 1972285., 2036867., 1113511.,
      1180837., 1248163., 1315489., 1382815., 1450141., 1517467., 1584793.,
      1652119., 1719445., 1786771., 1854097., 1921423., 1988749., 2056075.,
      2123401., 1158885., 1228955., 1299025., 1369095., 1439165., 1509235.,
      1579305., 1649375., 1719445., 1789515., 1859585., 1929655., 1999725.,
      2069795., 2139865., 2209935., 1204259., 1277073., 1349887., 1422701.,
      1495515., 1568329., 1641143., 1713957., 1786771., 1859585., 1932399.,
      2005213., 2078027., 2150841., 2223655., 2296469., 1249633., 1325191.,
      1400749., 1476307., 1551865., 1627423., 1702981., 1778539., 1854097.,
      1929655., 2005213., 2080771., 2156329., 2231887., 2307445., 2383003.,
      1295007., 1373309., 1451611., 1529913., 1608215., 1686517., 1764819.,
      1843121., 1921423., 1999725., 2078027., 2156329., 2234631., 2312933.,
      2391235., 2469537., 1340381., 1421427., 1502473., 1583519., 1664565.,
      1745611., 1826657., 1907703., 1988749., 2069795., 2150841., 2231887.,
      2312933., 2393979., 2475025., 2556071., 1385755., 1469545., 1553335.,
      1637125., 1720915., 1804705., 1888495., 1972285., 2056075., 2139865.,
      2223655., 2307445., 2391235., 2475025., 2558815., 2642605., 1431129.,
      1517663., 1604197., 1690731., 1777265., 1863799., 1950333., 2036867.,
      2123401., 2209935., 2296469., 2383003., 2469537., 2556071., 2642605.,
      2729139., 2904951., 2994229., 3083507., 3172785., 3262063., 3351341.,
      3440619., 3529897., 3619175., 3708453., 3797731., 3887009., 3976287.,
      4065565., 4154843., 4244121., 2994229., 3086251., 3178273., 3270295.,
      3362317., 3454339., 3546361., 3638383., 3730405., 3822427., 3914449.,
      4006471., 4098493., 4190515., 4282537., 4374559., 3083507., 3178273.,
      3273039., 3367805., 3462571., 3557337., 3652103., 3746869., 3841635.,
      3936401., 4031167., 4125933., 4220699., 4315465., 4410231., 4504997.,
      3172785., 3270295., 3367805., 3465315., 3562825., 3660335., 3757845.,
      3855355., 3952865., 4050375., 4147885., 4245395., 4342905., 4440415.,
      4537925., 4635435., 3262063., 3362317., 3462571., 3562825., 3663079.,
      3763333., 3863587., 3963841., 4064095., 4164349., 4264603., 4364857.,
      4465111., 4565365., 4665619., 4765873., 3351341., 3454339., 3557337.,
      3660335., 3763333., 3866331., 3969329., 4072327., 4175325., 4278323.,
      4381321., 4484319., 4587317., 4690315., 4793313., 4896311., 3440619.,
      3546361., 3652103., 3757845., 3863587., 3969329., 4075071., 4180813.,
      4286555., 4392297., 4498039., 4603781., 4709523., 4815265., 4921007.,
      5026749., 3529897., 3638383., 3746869., 3855355., 3963841., 4072327.,
      4180813., 4289299., 4397785., 4506271., 4614757., 4723243., 4831729.,
      4940215., 5048701., 5157187., 3619175., 3730405., 3841635., 3952865.,
      4064095., 4175325., 4286555., 4397785., 4509015., 4620245., 4731475.,
      4842705., 4953935., 5065165., 5176395., 5287625., 3708453., 3822427.,
      3936401., 4050375., 4164349., 4278323., 4392297., 4506271., 4620245.,
      4734219., 4848193., 4962167., 5076141., 5190115., 5304089., 5418063.,
      3797731., 3914449., 4031167., 4147885., 4264603., 4381321., 4498039.,
      4614757., 4731475., 4848193., 4964911., 5081629., 5198347., 5315065.,
      5431783., 5548501., 3887009., 4006471., 4125933., 4245395., 4364857.,
      4484319., 4603781., 4723243., 4842705., 4962167., 5081629., 5201091.,
      5320553., 5440015., 5559477., 5678939., 3976287., 4098493., 4220699.,
      4342905., 4465111., 4587317., 4709523., 4831729., 4953935., 5076141.,
      5198347., 5320553., 5442759., 5564965., 5687171., 5809377., 4065565.,
      4190515., 4315465., 4440415., 4565365., 4690315., 4815265., 4940215.,
      5065165., 5190115., 5315065., 5440015., 5564965., 5689915., 5814865.,
      5939815., 4154843., 4282537., 4410231., 4537925., 4665619., 4793313.,
      4921007., 5048701., 5176395., 5304089., 5431783., 5559477., 5687171.,
      5814865., 5942559., 6070253., 4244121., 4374559., 4504997., 4635435.,
      4765873., 4896311., 5026749., 5157187., 5287625., 5418063., 5548501.,
      5678939., 5809377., 5939815., 6070253., 6200691.};
  const int batches = 3;
  const int m = 16;
  const int k = 14;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M16xK15xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1240.,    3040.,    4840.,    6640.,    8440.,    10240.,   12040.,
      13840.,   15640.,   17440.,   19240.,   21040.,   22840.,   24640.,
      3040.,    8215.,    13390.,   18565.,   23740.,   28915.,   34090.,
      39265.,   44440.,   49615.,   54790.,   59965.,   65140.,   70315.,
      4840.,    13390.,   21940.,   30490.,   39040.,   47590.,   56140.,
      64690.,   73240.,   81790.,   90340.,   98890.,   107440.,  115990.,
      6640.,    18565.,   30490.,   42415.,   54340.,   66265.,   78190.,
      90115.,   102040.,  113965.,  125890.,  137815.,  149740.,  161665.,
      8440.,    23740.,   39040.,   54340.,   69640.,   84940.,   100240.,
      115540.,  130840.,  146140.,  161440.,  176740.,  192040.,  207340.,
      10240.,   28915.,   47590.,   66265.,   84940.,   103615.,  122290.,
      140965.,  159640.,  178315.,  196990.,  215665.,  234340.,  253015.,
      12040.,   34090.,   56140.,   78190.,   100240.,  122290.,  144340.,
      166390.,  188440.,  210490.,  232540.,  254590.,  276640.,  298690.,
      13840.,   39265.,   64690.,   90115.,   115540.,  140965.,  166390.,
      191815.,  217240.,  242665.,  268090.,  293515.,  318940.,  344365.,
      15640.,   44440.,   73240.,   102040.,  130840.,  159640.,  188440.,
      217240.,  246040.,  274840.,  303640.,  332440.,  361240.,  390040.,
      17440.,   49615.,   81790.,   113965.,  146140.,  178315.,  210490.,
      242665.,  274840.,  307015.,  339190.,  371365.,  403540.,  435715.,
      19240.,   54790.,   90340.,   125890.,  161440.,  196990.,  232540.,
      268090.,  303640.,  339190.,  374740.,  410290.,  445840.,  481390.,
      21040.,   59965.,   98890.,   137815.,  176740.,  215665.,  254590.,
      293515.,  332440.,  371365.,  410290.,  449215.,  488140.,  527065.,
      22840.,   65140.,   107440.,  149740.,  192040.,  234340.,  276640.,
      318940.,  361240.,  403540.,  445840.,  488140.,  530440.,  572740.,
      24640.,   70315.,   115990.,  161665.,  207340.,  253015.,  298690.,
      344365.,  390040.,  435715.,  481390.,  527065.,  572740.,  618415.,
      26440.,   75490.,   124540.,  173590.,  222640.,  271690.,  320740.,
      369790.,  418840.,  467890.,  516940.,  565990.,  615040.,  664090.,
      28240.,   80665.,   133090.,  185515.,  237940.,  290365.,  342790.,
      395215.,  447640.,  500065.,  552490.,  604915.,  657340.,  709765.,
      811240.,  867040.,  922840.,  978640.,  1034440., 1090240., 1146040.,
      1201840., 1257640., 1313440., 1369240., 1425040., 1480840., 1536640.,
      860290.,  919465.,  978640.,  1037815., 1096990., 1156165., 1215340.,
      1274515., 1333690., 1392865., 1452040., 1511215., 1570390., 1629565.,
      909340.,  971890.,  1034440., 1096990., 1159540., 1222090., 1284640.,
      1347190., 1409740., 1472290., 1534840., 1597390., 1659940., 1722490.,
      958390.,  1024315., 1090240., 1156165., 1222090., 1288015., 1353940.,
      1419865., 1485790., 1551715., 1617640., 1683565., 1749490., 1815415.,
      1007440., 1076740., 1146040., 1215340., 1284640., 1353940., 1423240.,
      1492540., 1561840., 1631140., 1700440., 1769740., 1839040., 1908340.,
      1056490., 1129165., 1201840., 1274515., 1347190., 1419865., 1492540.,
      1565215., 1637890., 1710565., 1783240., 1855915., 1928590., 2001265.,
      1105540., 1181590., 1257640., 1333690., 1409740., 1485790., 1561840.,
      1637890., 1713940., 1789990., 1866040., 1942090., 2018140., 2094190.,
      1154590., 1234015., 1313440., 1392865., 1472290., 1551715., 1631140.,
      1710565., 1789990., 1869415., 1948840., 2028265., 2107690., 2187115.,
      1203640., 1286440., 1369240., 1452040., 1534840., 1617640., 1700440.,
      1783240., 1866040., 1948840., 2031640., 2114440., 2197240., 2280040.,
      1252690., 1338865., 1425040., 1511215., 1597390., 1683565., 1769740.,
      1855915., 1942090., 2028265., 2114440., 2200615., 2286790., 2372965.,
      1301740., 1391290., 1480840., 1570390., 1659940., 1749490., 1839040.,
      1928590., 2018140., 2107690., 2197240., 2286790., 2376340., 2465890.,
      1350790., 1443715., 1536640., 1629565., 1722490., 1815415., 1908340.,
      2001265., 2094190., 2187115., 2280040., 2372965., 2465890., 2558815.,
      1399840., 1496140., 1592440., 1688740., 1785040., 1881340., 1977640.,
      2073940., 2170240., 2266540., 2362840., 2459140., 2555440., 2651740.,
      1448890., 1548565., 1648240., 1747915., 1847590., 1947265., 2046940.,
      2146615., 2246290., 2345965., 2445640., 2545315., 2644990., 2744665.,
      1497940., 1600990., 1704040., 1807090., 1910140., 2013190., 2116240.,
      2219290., 2322340., 2425390., 2528440., 2631490., 2734540., 2837590.,
      1546990., 1653415., 1759840., 1866265., 1972690., 2079115., 2185540.,
      2291965., 2398390., 2504815., 2611240., 2717665., 2824090., 2930515.,
      3133240., 3243040., 3352840., 3462640., 3572440., 3682240., 3792040.,
      3901840., 4011640., 4121440., 4231240., 4341040., 4450840., 4560640.,
      3229540., 3342715., 3455890., 3569065., 3682240., 3795415., 3908590.,
      4021765., 4134940., 4248115., 4361290., 4474465., 4587640., 4700815.,
      3325840., 3442390., 3558940., 3675490., 3792040., 3908590., 4025140.,
      4141690., 4258240., 4374790., 4491340., 4607890., 4724440., 4840990.,
      3422140., 3542065., 3661990., 3781915., 3901840., 4021765., 4141690.,
      4261615., 4381540., 4501465., 4621390., 4741315., 4861240., 4981165.,
      3518440., 3641740., 3765040., 3888340., 4011640., 4134940., 4258240.,
      4381540., 4504840., 4628140., 4751440., 4874740., 4998040., 5121340.,
      3614740., 3741415., 3868090., 3994765., 4121440., 4248115., 4374790.,
      4501465., 4628140., 4754815., 4881490., 5008165., 5134840., 5261515.,
      3711040., 3841090., 3971140., 4101190., 4231240., 4361290., 4491340.,
      4621390., 4751440., 4881490., 5011540., 5141590., 5271640., 5401690.,
      3807340., 3940765., 4074190., 4207615., 4341040., 4474465., 4607890.,
      4741315., 4874740., 5008165., 5141590., 5275015., 5408440., 5541865.,
      3903640., 4040440., 4177240., 4314040., 4450840., 4587640., 4724440.,
      4861240., 4998040., 5134840., 5271640., 5408440., 5545240., 5682040.,
      3999940., 4140115., 4280290., 4420465., 4560640., 4700815., 4840990.,
      4981165., 5121340., 5261515., 5401690., 5541865., 5682040., 5822215.,
      4096240., 4239790., 4383340., 4526890., 4670440., 4813990., 4957540.,
      5101090., 5244640., 5388190., 5531740., 5675290., 5818840., 5962390.,
      4192540., 4339465., 4486390., 4633315., 4780240., 4927165., 5074090.,
      5221015., 5367940., 5514865., 5661790., 5808715., 5955640., 6102565.,
      4288840., 4439140., 4589440., 4739740., 4890040., 5040340., 5190640.,
      5340940., 5491240., 5641540., 5791840., 5942140., 6092440., 6242740.,
      4385140., 4538815., 4692490., 4846165., 4999840., 5153515., 5307190.,
      5460865., 5614540., 5768215., 5921890., 6075565., 6229240., 6382915.,
      4481440., 4638490., 4795540., 4952590., 5109640., 5266690., 5423740.,
      5580790., 5737840., 5894890., 6051940., 6208990., 6366040., 6523090.,
      4577740., 4738165., 4898590., 5059015., 5219440., 5379865., 5540290.,
      5700715., 5861140., 6021565., 6181990., 6342415., 6502840., 6663265.};
  const int batches = 3;
  const int m = 16;
  const int k = 15;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M16xK15xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1240.,    3040.,    4840.,    6640.,    8440.,    10240.,   12040.,
      13840.,   15640.,   17440.,   19240.,   21040.,   22840.,   24640.,
      26440.,   3040.,    8215.,    13390.,   18565.,   23740.,   28915.,
      34090.,   39265.,   44440.,   49615.,   54790.,   59965.,   65140.,
      70315.,   75490.,   4840.,    13390.,   21940.,   30490.,   39040.,
      47590.,   56140.,   64690.,   73240.,   81790.,   90340.,   98890.,
      107440.,  115990.,  124540.,  6640.,    18565.,   30490.,   42415.,
      54340.,   66265.,   78190.,   90115.,   102040.,  113965.,  125890.,
      137815.,  149740.,  161665.,  173590.,  8440.,    23740.,   39040.,
      54340.,   69640.,   84940.,   100240.,  115540.,  130840.,  146140.,
      161440.,  176740.,  192040.,  207340.,  222640.,  10240.,   28915.,
      47590.,   66265.,   84940.,   103615.,  122290.,  140965.,  159640.,
      178315.,  196990.,  215665.,  234340.,  253015.,  271690.,  12040.,
      34090.,   56140.,   78190.,   100240.,  122290.,  144340.,  166390.,
      188440.,  210490.,  232540.,  254590.,  276640.,  298690.,  320740.,
      13840.,   39265.,   64690.,   90115.,   115540.,  140965.,  166390.,
      191815.,  217240.,  242665.,  268090.,  293515.,  318940.,  344365.,
      369790.,  15640.,   44440.,   73240.,   102040.,  130840.,  159640.,
      188440.,  217240.,  246040.,  274840.,  303640.,  332440.,  361240.,
      390040.,  418840.,  17440.,   49615.,   81790.,   113965.,  146140.,
      178315.,  210490.,  242665.,  274840.,  307015.,  339190.,  371365.,
      403540.,  435715.,  467890.,  19240.,   54790.,   90340.,   125890.,
      161440.,  196990.,  232540.,  268090.,  303640.,  339190.,  374740.,
      410290.,  445840.,  481390.,  516940.,  21040.,   59965.,   98890.,
      137815.,  176740.,  215665.,  254590.,  293515.,  332440.,  371365.,
      410290.,  449215.,  488140.,  527065.,  565990.,  22840.,   65140.,
      107440.,  149740.,  192040.,  234340.,  276640.,  318940.,  361240.,
      403540.,  445840.,  488140.,  530440.,  572740.,  615040.,  24640.,
      70315.,   115990.,  161665.,  207340.,  253015.,  298690.,  344365.,
      390040.,  435715.,  481390.,  527065.,  572740.,  618415.,  664090.,
      26440.,   75490.,   124540.,  173590.,  222640.,  271690.,  320740.,
      369790.,  418840.,  467890.,  516940.,  565990.,  615040.,  664090.,
      713140.,  28240.,   80665.,   133090.,  185515.,  237940.,  290365.,
      342790.,  395215.,  447640.,  500065.,  552490.,  604915.,  657340.,
      709765.,  762190.,  867040.,  922840.,  978640.,  1034440., 1090240.,
      1146040., 1201840., 1257640., 1313440., 1369240., 1425040., 1480840.,
      1536640., 1592440., 1648240., 919465.,  978640.,  1037815., 1096990.,
      1156165., 1215340., 1274515., 1333690., 1392865., 1452040., 1511215.,
      1570390., 1629565., 1688740., 1747915., 971890.,  1034440., 1096990.,
      1159540., 1222090., 1284640., 1347190., 1409740., 1472290., 1534840.,
      1597390., 1659940., 1722490., 1785040., 1847590., 1024315., 1090240.,
      1156165., 1222090., 1288015., 1353940., 1419865., 1485790., 1551715.,
      1617640., 1683565., 1749490., 1815415., 1881340., 1947265., 1076740.,
      1146040., 1215340., 1284640., 1353940., 1423240., 1492540., 1561840.,
      1631140., 1700440., 1769740., 1839040., 1908340., 1977640., 2046940.,
      1129165., 1201840., 1274515., 1347190., 1419865., 1492540., 1565215.,
      1637890., 1710565., 1783240., 1855915., 1928590., 2001265., 2073940.,
      2146615., 1181590., 1257640., 1333690., 1409740., 1485790., 1561840.,
      1637890., 1713940., 1789990., 1866040., 1942090., 2018140., 2094190.,
      2170240., 2246290., 1234015., 1313440., 1392865., 1472290., 1551715.,
      1631140., 1710565., 1789990., 1869415., 1948840., 2028265., 2107690.,
      2187115., 2266540., 2345965., 1286440., 1369240., 1452040., 1534840.,
      1617640., 1700440., 1783240., 1866040., 1948840., 2031640., 2114440.,
      2197240., 2280040., 2362840., 2445640., 1338865., 1425040., 1511215.,
      1597390., 1683565., 1769740., 1855915., 1942090., 2028265., 2114440.,
      2200615., 2286790., 2372965., 2459140., 2545315., 1391290., 1480840.,
      1570390., 1659940., 1749490., 1839040., 1928590., 2018140., 2107690.,
      2197240., 2286790., 2376340., 2465890., 2555440., 2644990., 1443715.,
      1536640., 1629565., 1722490., 1815415., 1908340., 2001265., 2094190.,
      2187115., 2280040., 2372965., 2465890., 2558815., 2651740., 2744665.,
      1496140., 1592440., 1688740., 1785040., 1881340., 1977640., 2073940.,
      2170240., 2266540., 2362840., 2459140., 2555440., 2651740., 2748040.,
      2844340., 1548565., 1648240., 1747915., 1847590., 1947265., 2046940.,
      2146615., 2246290., 2345965., 2445640., 2545315., 2644990., 2744665.,
      2844340., 2944015., 1600990., 1704040., 1807090., 1910140., 2013190.,
      2116240., 2219290., 2322340., 2425390., 2528440., 2631490., 2734540.,
      2837590., 2940640., 3043690., 1653415., 1759840., 1866265., 1972690.,
      2079115., 2185540., 2291965., 2398390., 2504815., 2611240., 2717665.,
      2824090., 2930515., 3036940., 3143365., 3352840., 3462640., 3572440.,
      3682240., 3792040., 3901840., 4011640., 4121440., 4231240., 4341040.,
      4450840., 4560640., 4670440., 4780240., 4890040., 3455890., 3569065.,
      3682240., 3795415., 3908590., 4021765., 4134940., 4248115., 4361290.,
      4474465., 4587640., 4700815., 4813990., 4927165., 5040340., 3558940.,
      3675490., 3792040., 3908590., 4025140., 4141690., 4258240., 4374790.,
      4491340., 4607890., 4724440., 4840990., 4957540., 5074090., 5190640.,
      3661990., 3781915., 3901840., 4021765., 4141690., 4261615., 4381540.,
      4501465., 4621390., 4741315., 4861240., 4981165., 5101090., 5221015.,
      5340940., 3765040., 3888340., 4011640., 4134940., 4258240., 4381540.,
      4504840., 4628140., 4751440., 4874740., 4998040., 5121340., 5244640.,
      5367940., 5491240., 3868090., 3994765., 4121440., 4248115., 4374790.,
      4501465., 4628140., 4754815., 4881490., 5008165., 5134840., 5261515.,
      5388190., 5514865., 5641540., 3971140., 4101190., 4231240., 4361290.,
      4491340., 4621390., 4751440., 4881490., 5011540., 5141590., 5271640.,
      5401690., 5531740., 5661790., 5791840., 4074190., 4207615., 4341040.,
      4474465., 4607890., 4741315., 4874740., 5008165., 5141590., 5275015.,
      5408440., 5541865., 5675290., 5808715., 5942140., 4177240., 4314040.,
      4450840., 4587640., 4724440., 4861240., 4998040., 5134840., 5271640.,
      5408440., 5545240., 5682040., 5818840., 5955640., 6092440., 4280290.,
      4420465., 4560640., 4700815., 4840990., 4981165., 5121340., 5261515.,
      5401690., 5541865., 5682040., 5822215., 5962390., 6102565., 6242740.,
      4383340., 4526890., 4670440., 4813990., 4957540., 5101090., 5244640.,
      5388190., 5531740., 5675290., 5818840., 5962390., 6105940., 6249490.,
      6393040., 4486390., 4633315., 4780240., 4927165., 5074090., 5221015.,
      5367940., 5514865., 5661790., 5808715., 5955640., 6102565., 6249490.,
      6396415., 6543340., 4589440., 4739740., 4890040., 5040340., 5190640.,
      5340940., 5491240., 5641540., 5791840., 5942140., 6092440., 6242740.,
      6393040., 6543340., 6693640., 4692490., 4846165., 4999840., 5153515.,
      5307190., 5460865., 5614540., 5768215., 5921890., 6075565., 6229240.,
      6382915., 6536590., 6690265., 6843940., 4795540., 4952590., 5109640.,
      5266690., 5423740., 5580790., 5737840., 5894890., 6051940., 6208990.,
      6366040., 6523090., 6680140., 6837190., 6994240., 4898590., 5059015.,
      5219440., 5379865., 5540290., 5700715., 5861140., 6021565., 6181990.,
      6342415., 6502840., 6663265., 6823690., 6984115., 7144540.};
  const int batches = 3;
  const int m = 16;
  const int k = 15;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M16xK15xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1240.,    3040.,    4840.,    6640.,    8440.,    10240.,   12040.,
      13840.,   15640.,   17440.,   19240.,   21040.,   22840.,   24640.,
      26440.,   28240.,   3040.,    8215.,    13390.,   18565.,   23740.,
      28915.,   34090.,   39265.,   44440.,   49615.,   54790.,   59965.,
      65140.,   70315.,   75490.,   80665.,   4840.,    13390.,   21940.,
      30490.,   39040.,   47590.,   56140.,   64690.,   73240.,   81790.,
      90340.,   98890.,   107440.,  115990.,  124540.,  133090.,  6640.,
      18565.,   30490.,   42415.,   54340.,   66265.,   78190.,   90115.,
      102040.,  113965.,  125890.,  137815.,  149740.,  161665.,  173590.,
      185515.,  8440.,    23740.,   39040.,   54340.,   69640.,   84940.,
      100240.,  115540.,  130840.,  146140.,  161440.,  176740.,  192040.,
      207340.,  222640.,  237940.,  10240.,   28915.,   47590.,   66265.,
      84940.,   103615.,  122290.,  140965.,  159640.,  178315.,  196990.,
      215665.,  234340.,  253015.,  271690.,  290365.,  12040.,   34090.,
      56140.,   78190.,   100240.,  122290.,  144340.,  166390.,  188440.,
      210490.,  232540.,  254590.,  276640.,  298690.,  320740.,  342790.,
      13840.,   39265.,   64690.,   90115.,   115540.,  140965.,  166390.,
      191815.,  217240.,  242665.,  268090.,  293515.,  318940.,  344365.,
      369790.,  395215.,  15640.,   44440.,   73240.,   102040.,  130840.,
      159640.,  188440.,  217240.,  246040.,  274840.,  303640.,  332440.,
      361240.,  390040.,  418840.,  447640.,  17440.,   49615.,   81790.,
      113965.,  146140.,  178315.,  210490.,  242665.,  274840.,  307015.,
      339190.,  371365.,  403540.,  435715.,  467890.,  500065.,  19240.,
      54790.,   90340.,   125890.,  161440.,  196990.,  232540.,  268090.,
      303640.,  339190.,  374740.,  410290.,  445840.,  481390.,  516940.,
      552490.,  21040.,   59965.,   98890.,   137815.,  176740.,  215665.,
      254590.,  293515.,  332440.,  371365.,  410290.,  449215.,  488140.,
      527065.,  565990.,  604915.,  22840.,   65140.,   107440.,  149740.,
      192040.,  234340.,  276640.,  318940.,  361240.,  403540.,  445840.,
      488140.,  530440.,  572740.,  615040.,  657340.,  24640.,   70315.,
      115990.,  161665.,  207340.,  253015.,  298690.,  344365.,  390040.,
      435715.,  481390.,  527065.,  572740.,  618415.,  664090.,  709765.,
      26440.,   75490.,   124540.,  173590.,  222640.,  271690.,  320740.,
      369790.,  418840.,  467890.,  516940.,  565990.,  615040.,  664090.,
      713140.,  762190.,  28240.,   80665.,   133090.,  185515.,  237940.,
      290365.,  342790.,  395215.,  447640.,  500065.,  552490.,  604915.,
      657340.,  709765.,  762190.,  814615.,  922840.,  978640.,  1034440.,
      1090240., 1146040., 1201840., 1257640., 1313440., 1369240., 1425040.,
      1480840., 1536640., 1592440., 1648240., 1704040., 1759840., 978640.,
      1037815., 1096990., 1156165., 1215340., 1274515., 1333690., 1392865.,
      1452040., 1511215., 1570390., 1629565., 1688740., 1747915., 1807090.,
      1866265., 1034440., 1096990., 1159540., 1222090., 1284640., 1347190.,
      1409740., 1472290., 1534840., 1597390., 1659940., 1722490., 1785040.,
      1847590., 1910140., 1972690., 1090240., 1156165., 1222090., 1288015.,
      1353940., 1419865., 1485790., 1551715., 1617640., 1683565., 1749490.,
      1815415., 1881340., 1947265., 2013190., 2079115., 1146040., 1215340.,
      1284640., 1353940., 1423240., 1492540., 1561840., 1631140., 1700440.,
      1769740., 1839040., 1908340., 1977640., 2046940., 2116240., 2185540.,
      1201840., 1274515., 1347190., 1419865., 1492540., 1565215., 1637890.,
      1710565., 1783240., 1855915., 1928590., 2001265., 2073940., 2146615.,
      2219290., 2291965., 1257640., 1333690., 1409740., 1485790., 1561840.,
      1637890., 1713940., 1789990., 1866040., 1942090., 2018140., 2094190.,
      2170240., 2246290., 2322340., 2398390., 1313440., 1392865., 1472290.,
      1551715., 1631140., 1710565., 1789990., 1869415., 1948840., 2028265.,
      2107690., 2187115., 2266540., 2345965., 2425390., 2504815., 1369240.,
      1452040., 1534840., 1617640., 1700440., 1783240., 1866040., 1948840.,
      2031640., 2114440., 2197240., 2280040., 2362840., 2445640., 2528440.,
      2611240., 1425040., 1511215., 1597390., 1683565., 1769740., 1855915.,
      1942090., 2028265., 2114440., 2200615., 2286790., 2372965., 2459140.,
      2545315., 2631490., 2717665., 1480840., 1570390., 1659940., 1749490.,
      1839040., 1928590., 2018140., 2107690., 2197240., 2286790., 2376340.,
      2465890., 2555440., 2644990., 2734540., 2824090., 1536640., 1629565.,
      1722490., 1815415., 1908340., 2001265., 2094190., 2187115., 2280040.,
      2372965., 2465890., 2558815., 2651740., 2744665., 2837590., 2930515.,
      1592440., 1688740., 1785040., 1881340., 1977640., 2073940., 2170240.,
      2266540., 2362840., 2459140., 2555440., 2651740., 2748040., 2844340.,
      2940640., 3036940., 1648240., 1747915., 1847590., 1947265., 2046940.,
      2146615., 2246290., 2345965., 2445640., 2545315., 2644990., 2744665.,
      2844340., 2944015., 3043690., 3143365., 1704040., 1807090., 1910140.,
      2013190., 2116240., 2219290., 2322340., 2425390., 2528440., 2631490.,
      2734540., 2837590., 2940640., 3043690., 3146740., 3249790., 1759840.,
      1866265., 1972690., 2079115., 2185540., 2291965., 2398390., 2504815.,
      2611240., 2717665., 2824090., 2930515., 3036940., 3143365., 3249790.,
      3356215., 3572440., 3682240., 3792040., 3901840., 4011640., 4121440.,
      4231240., 4341040., 4450840., 4560640., 4670440., 4780240., 4890040.,
      4999840., 5109640., 5219440., 3682240., 3795415., 3908590., 4021765.,
      4134940., 4248115., 4361290., 4474465., 4587640., 4700815., 4813990.,
      4927165., 5040340., 5153515., 5266690., 5379865., 3792040., 3908590.,
      4025140., 4141690., 4258240., 4374790., 4491340., 4607890., 4724440.,
      4840990., 4957540., 5074090., 5190640., 5307190., 5423740., 5540290.,
      3901840., 4021765., 4141690., 4261615., 4381540., 4501465., 4621390.,
      4741315., 4861240., 4981165., 5101090., 5221015., 5340940., 5460865.,
      5580790., 5700715., 4011640., 4134940., 4258240., 4381540., 4504840.,
      4628140., 4751440., 4874740., 4998040., 5121340., 5244640., 5367940.,
      5491240., 5614540., 5737840., 5861140., 4121440., 4248115., 4374790.,
      4501465., 4628140., 4754815., 4881490., 5008165., 5134840., 5261515.,
      5388190., 5514865., 5641540., 5768215., 5894890., 6021565., 4231240.,
      4361290., 4491340., 4621390., 4751440., 4881490., 5011540., 5141590.,
      5271640., 5401690., 5531740., 5661790., 5791840., 5921890., 6051940.,
      6181990., 4341040., 4474465., 4607890., 4741315., 4874740., 5008165.,
      5141590., 5275015., 5408440., 5541865., 5675290., 5808715., 5942140.,
      6075565., 6208990., 6342415., 4450840., 4587640., 4724440., 4861240.,
      4998040., 5134840., 5271640., 5408440., 5545240., 5682040., 5818840.,
      5955640., 6092440., 6229240., 6366040., 6502840., 4560640., 4700815.,
      4840990., 4981165., 5121340., 5261515., 5401690., 5541865., 5682040.,
      5822215., 5962390., 6102565., 6242740., 6382915., 6523090., 6663265.,
      4670440., 4813990., 4957540., 5101090., 5244640., 5388190., 5531740.,
      5675290., 5818840., 5962390., 6105940., 6249490., 6393040., 6536590.,
      6680140., 6823690., 4780240., 4927165., 5074090., 5221015., 5367940.,
      5514865., 5661790., 5808715., 5955640., 6102565., 6249490., 6396415.,
      6543340., 6690265., 6837190., 6984115., 4890040., 5040340., 5190640.,
      5340940., 5491240., 5641540., 5791840., 5942140., 6092440., 6242740.,
      6393040., 6543340., 6693640., 6843940., 6994240., 7144540., 4999840.,
      5153515., 5307190., 5460865., 5614540., 5768215., 5921890., 6075565.,
      6229240., 6382915., 6536590., 6690265., 6843940., 6997615., 7151290.,
      7304965., 5109640., 5266690., 5423740., 5580790., 5737840., 5894890.,
      6051940., 6208990., 6366040., 6523090., 6680140., 6837190., 6994240.,
      7151290., 7308340., 7465390., 5219440., 5379865., 5540290., 5700715.,
      5861140., 6021565., 6181990., 6342415., 6502840., 6663265., 6823690.,
      6984115., 7144540., 7304965., 7465390., 7625815.};
  const int batches = 3;
  const int m = 16;
  const int k = 15;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M16xK16xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1496.,    3672.,    5848.,    8024.,    10200.,   12376.,   14552.,
      16728.,   18904.,   21080.,   23256.,   25432.,   27608.,   29784.,
      3672.,    9944.,    16216.,   22488.,   28760.,   35032.,   41304.,
      47576.,   53848.,   60120.,   66392.,   72664.,   78936.,   85208.,
      5848.,    16216.,   26584.,   36952.,   47320.,   57688.,   68056.,
      78424.,   88792.,   99160.,   109528.,  119896.,  130264.,  140632.,
      8024.,    22488.,   36952.,   51416.,   65880.,   80344.,   94808.,
      109272.,  123736.,  138200.,  152664.,  167128.,  181592.,  196056.,
      10200.,   28760.,   47320.,   65880.,   84440.,   103000.,  121560.,
      140120.,  158680.,  177240.,  195800.,  214360.,  232920.,  251480.,
      12376.,   35032.,   57688.,   80344.,   103000.,  125656.,  148312.,
      170968.,  193624.,  216280.,  238936.,  261592.,  284248.,  306904.,
      14552.,   41304.,   68056.,   94808.,   121560.,  148312.,  175064.,
      201816.,  228568.,  255320.,  282072.,  308824.,  335576.,  362328.,
      16728.,   47576.,   78424.,   109272.,  140120.,  170968.,  201816.,
      232664.,  263512.,  294360.,  325208.,  356056.,  386904.,  417752.,
      18904.,   53848.,   88792.,   123736.,  158680.,  193624.,  228568.,
      263512.,  298456.,  333400.,  368344.,  403288.,  438232.,  473176.,
      21080.,   60120.,   99160.,   138200.,  177240.,  216280.,  255320.,
      294360.,  333400.,  372440.,  411480.,  450520.,  489560.,  528600.,
      23256.,   66392.,   109528.,  152664.,  195800.,  238936.,  282072.,
      325208.,  368344.,  411480.,  454616.,  497752.,  540888.,  584024.,
      25432.,   72664.,   119896.,  167128.,  214360.,  261592.,  308824.,
      356056.,  403288.,  450520.,  497752.,  544984.,  592216.,  639448.,
      27608.,   78936.,   130264.,  181592.,  232920.,  284248.,  335576.,
      386904.,  438232.,  489560.,  540888.,  592216.,  643544.,  694872.,
      29784.,   85208.,   140632.,  196056.,  251480.,  306904.,  362328.,
      417752.,  473176.,  528600.,  584024.,  639448.,  694872.,  750296.,
      31960.,   91480.,   151000.,  210520.,  270040.,  329560.,  389080.,
      448600.,  508120.,  567640.,  627160.,  686680.,  746200.,  805720.,
      34136.,   97752.,   161368.,  224984.,  288600.,  352216.,  415832.,
      479448.,  543064.,  606680.,  670296.,  733912.,  797528.,  861144.,
      984280.,  1051992., 1119704., 1187416., 1255128., 1322840., 1390552.,
      1458264., 1525976., 1593688., 1661400., 1729112., 1796824., 1864536.,
      1043800., 1115608., 1187416., 1259224., 1331032., 1402840., 1474648.,
      1546456., 1618264., 1690072., 1761880., 1833688., 1905496., 1977304.,
      1103320., 1179224., 1255128., 1331032., 1406936., 1482840., 1558744.,
      1634648., 1710552., 1786456., 1862360., 1938264., 2014168., 2090072.,
      1162840., 1242840., 1322840., 1402840., 1482840., 1562840., 1642840.,
      1722840., 1802840., 1882840., 1962840., 2042840., 2122840., 2202840.,
      1222360., 1306456., 1390552., 1474648., 1558744., 1642840., 1726936.,
      1811032., 1895128., 1979224., 2063320., 2147416., 2231512., 2315608.,
      1281880., 1370072., 1458264., 1546456., 1634648., 1722840., 1811032.,
      1899224., 1987416., 2075608., 2163800., 2251992., 2340184., 2428376.,
      1341400., 1433688., 1525976., 1618264., 1710552., 1802840., 1895128.,
      1987416., 2079704., 2171992., 2264280., 2356568., 2448856., 2541144.,
      1400920., 1497304., 1593688., 1690072., 1786456., 1882840., 1979224.,
      2075608., 2171992., 2268376., 2364760., 2461144., 2557528., 2653912.,
      1460440., 1560920., 1661400., 1761880., 1862360., 1962840., 2063320.,
      2163800., 2264280., 2364760., 2465240., 2565720., 2666200., 2766680.,
      1519960., 1624536., 1729112., 1833688., 1938264., 2042840., 2147416.,
      2251992., 2356568., 2461144., 2565720., 2670296., 2774872., 2879448.,
      1579480., 1688152., 1796824., 1905496., 2014168., 2122840., 2231512.,
      2340184., 2448856., 2557528., 2666200., 2774872., 2883544., 2992216.,
      1639000., 1751768., 1864536., 1977304., 2090072., 2202840., 2315608.,
      2428376., 2541144., 2653912., 2766680., 2879448., 2992216., 3104984.,
      1698520., 1815384., 1932248., 2049112., 2165976., 2282840., 2399704.,
      2516568., 2633432., 2750296., 2867160., 2984024., 3100888., 3217752.,
      1758040., 1879000., 1999960., 2120920., 2241880., 2362840., 2483800.,
      2604760., 2725720., 2846680., 2967640., 3088600., 3209560., 3330520.,
      1817560., 1942616., 2067672., 2192728., 2317784., 2442840., 2567896.,
      2692952., 2818008., 2943064., 3068120., 3193176., 3318232., 3443288.,
      1877080., 2006232., 2135384., 2264536., 2393688., 2522840., 2651992.,
      2781144., 2910296., 3039448., 3168600., 3297752., 3426904., 3556056.,
      3802072., 3935320., 4068568., 4201816., 4335064., 4468312., 4601560.,
      4734808., 4868056., 5001304., 5134552., 5267800., 5401048., 5534296.,
      3918936., 4056280., 4193624., 4330968., 4468312., 4605656., 4743000.,
      4880344., 5017688., 5155032., 5292376., 5429720., 5567064., 5704408.,
      4035800., 4177240., 4318680., 4460120., 4601560., 4743000., 4884440.,
      5025880., 5167320., 5308760., 5450200., 5591640., 5733080., 5874520.,
      4152664., 4298200., 4443736., 4589272., 4734808., 4880344., 5025880.,
      5171416., 5316952., 5462488., 5608024., 5753560., 5899096., 6044632.,
      4269528., 4419160., 4568792., 4718424., 4868056., 5017688., 5167320.,
      5316952., 5466584., 5616216., 5765848., 5915480., 6065112., 6214744.,
      4386392., 4540120., 4693848., 4847576., 5001304., 5155032., 5308760.,
      5462488., 5616216., 5769944., 5923672., 6077400., 6231128., 6384856.,
      4503256., 4661080., 4818904., 4976728., 5134552., 5292376., 5450200.,
      5608024., 5765848., 5923672., 6081496., 6239320., 6397144., 6554968.,
      4620120., 4782040., 4943960., 5105880., 5267800., 5429720., 5591640.,
      5753560., 5915480., 6077400., 6239320., 6401240., 6563160., 6725080.,
      4736984., 4903000., 5069016., 5235032., 5401048., 5567064., 5733080.,
      5899096., 6065112., 6231128., 6397144., 6563160., 6729176., 6895192.,
      4853848., 5023960., 5194072., 5364184., 5534296., 5704408., 5874520.,
      6044632., 6214744., 6384856., 6554968., 6725080., 6895192., 7065304.,
      4970712., 5144920., 5319128., 5493336., 5667544., 5841752., 6015960.,
      6190168., 6364376., 6538584., 6712792., 6887000., 7061208., 7235416.,
      5087576., 5265880., 5444184., 5622488., 5800792., 5979096., 6157400.,
      6335704., 6514008., 6692312., 6870616., 7048920., 7227224., 7405528.,
      5204440., 5386840., 5569240., 5751640., 5934040., 6116440., 6298840.,
      6481240., 6663640., 6846040., 7028440., 7210840., 7393240., 7575640.,
      5321304., 5507800., 5694296., 5880792., 6067288., 6253784., 6440280.,
      6626776., 6813272., 6999768., 7186264., 7372760., 7559256., 7745752.,
      5438168., 5628760., 5819352., 6009944., 6200536., 6391128., 6581720.,
      6772312., 6962904., 7153496., 7344088., 7534680., 7725272., 7915864.,
      5555032., 5749720., 5944408., 6139096., 6333784., 6528472., 6723160.,
      6917848., 7112536., 7307224., 7501912., 7696600., 7891288., 8085976.};
  const int batches = 3;
  const int m = 16;
  const int k = 16;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M16xK16xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1496.,    3672.,    5848.,    8024.,    10200.,   12376.,   14552.,
      16728.,   18904.,   21080.,   23256.,   25432.,   27608.,   29784.,
      31960.,   3672.,    9944.,    16216.,   22488.,   28760.,   35032.,
      41304.,   47576.,   53848.,   60120.,   66392.,   72664.,   78936.,
      85208.,   91480.,   5848.,    16216.,   26584.,   36952.,   47320.,
      57688.,   68056.,   78424.,   88792.,   99160.,   109528.,  119896.,
      130264.,  140632.,  151000.,  8024.,    22488.,   36952.,   51416.,
      65880.,   80344.,   94808.,   109272.,  123736.,  138200.,  152664.,
      167128.,  181592.,  196056.,  210520.,  10200.,   28760.,   47320.,
      65880.,   84440.,   103000.,  121560.,  140120.,  158680.,  177240.,
      195800.,  214360.,  232920.,  251480.,  270040.,  12376.,   35032.,
      57688.,   80344.,   103000.,  125656.,  148312.,  170968.,  193624.,
      216280.,  238936.,  261592.,  284248.,  306904.,  329560.,  14552.,
      41304.,   68056.,   94808.,   121560.,  148312.,  175064.,  201816.,
      228568.,  255320.,  282072.,  308824.,  335576.,  362328.,  389080.,
      16728.,   47576.,   78424.,   109272.,  140120.,  170968.,  201816.,
      232664.,  263512.,  294360.,  325208.,  356056.,  386904.,  417752.,
      448600.,  18904.,   53848.,   88792.,   123736.,  158680.,  193624.,
      228568.,  263512.,  298456.,  333400.,  368344.,  403288.,  438232.,
      473176.,  508120.,  21080.,   60120.,   99160.,   138200.,  177240.,
      216280.,  255320.,  294360.,  333400.,  372440.,  411480.,  450520.,
      489560.,  528600.,  567640.,  23256.,   66392.,   109528.,  152664.,
      195800.,  238936.,  282072.,  325208.,  368344.,  411480.,  454616.,
      497752.,  540888.,  584024.,  627160.,  25432.,   72664.,   119896.,
      167128.,  214360.,  261592.,  308824.,  356056.,  403288.,  450520.,
      497752.,  544984.,  592216.,  639448.,  686680.,  27608.,   78936.,
      130264.,  181592.,  232920.,  284248.,  335576.,  386904.,  438232.,
      489560.,  540888.,  592216.,  643544.,  694872.,  746200.,  29784.,
      85208.,   140632.,  196056.,  251480.,  306904.,  362328.,  417752.,
      473176.,  528600.,  584024.,  639448.,  694872.,  750296.,  805720.,
      31960.,   91480.,   151000.,  210520.,  270040.,  329560.,  389080.,
      448600.,  508120.,  567640.,  627160.,  686680.,  746200.,  805720.,
      865240.,  34136.,   97752.,   161368.,  224984.,  288600.,  352216.,
      415832.,  479448.,  543064.,  606680.,  670296.,  733912.,  797528.,
      861144.,  924760.,  1051992., 1119704., 1187416., 1255128., 1322840.,
      1390552., 1458264., 1525976., 1593688., 1661400., 1729112., 1796824.,
      1864536., 1932248., 1999960., 1115608., 1187416., 1259224., 1331032.,
      1402840., 1474648., 1546456., 1618264., 1690072., 1761880., 1833688.,
      1905496., 1977304., 2049112., 2120920., 1179224., 1255128., 1331032.,
      1406936., 1482840., 1558744., 1634648., 1710552., 1786456., 1862360.,
      1938264., 2014168., 2090072., 2165976., 2241880., 1242840., 1322840.,
      1402840., 1482840., 1562840., 1642840., 1722840., 1802840., 1882840.,
      1962840., 2042840., 2122840., 2202840., 2282840., 2362840., 1306456.,
      1390552., 1474648., 1558744., 1642840., 1726936., 1811032., 1895128.,
      1979224., 2063320., 2147416., 2231512., 2315608., 2399704., 2483800.,
      1370072., 1458264., 1546456., 1634648., 1722840., 1811032., 1899224.,
      1987416., 2075608., 2163800., 2251992., 2340184., 2428376., 2516568.,
      2604760., 1433688., 1525976., 1618264., 1710552., 1802840., 1895128.,
      1987416., 2079704., 2171992., 2264280., 2356568., 2448856., 2541144.,
      2633432., 2725720., 1497304., 1593688., 1690072., 1786456., 1882840.,
      1979224., 2075608., 2171992., 2268376., 2364760., 2461144., 2557528.,
      2653912., 2750296., 2846680., 1560920., 1661400., 1761880., 1862360.,
      1962840., 2063320., 2163800., 2264280., 2364760., 2465240., 2565720.,
      2666200., 2766680., 2867160., 2967640., 1624536., 1729112., 1833688.,
      1938264., 2042840., 2147416., 2251992., 2356568., 2461144., 2565720.,
      2670296., 2774872., 2879448., 2984024., 3088600., 1688152., 1796824.,
      1905496., 2014168., 2122840., 2231512., 2340184., 2448856., 2557528.,
      2666200., 2774872., 2883544., 2992216., 3100888., 3209560., 1751768.,
      1864536., 1977304., 2090072., 2202840., 2315608., 2428376., 2541144.,
      2653912., 2766680., 2879448., 2992216., 3104984., 3217752., 3330520.,
      1815384., 1932248., 2049112., 2165976., 2282840., 2399704., 2516568.,
      2633432., 2750296., 2867160., 2984024., 3100888., 3217752., 3334616.,
      3451480., 1879000., 1999960., 2120920., 2241880., 2362840., 2483800.,
      2604760., 2725720., 2846680., 2967640., 3088600., 3209560., 3330520.,
      3451480., 3572440., 1942616., 2067672., 2192728., 2317784., 2442840.,
      2567896., 2692952., 2818008., 2943064., 3068120., 3193176., 3318232.,
      3443288., 3568344., 3693400., 2006232., 2135384., 2264536., 2393688.,
      2522840., 2651992., 2781144., 2910296., 3039448., 3168600., 3297752.,
      3426904., 3556056., 3685208., 3814360., 4068568., 4201816., 4335064.,
      4468312., 4601560., 4734808., 4868056., 5001304., 5134552., 5267800.,
      5401048., 5534296., 5667544., 5800792., 5934040., 4193624., 4330968.,
      4468312., 4605656., 4743000., 4880344., 5017688., 5155032., 5292376.,
      5429720., 5567064., 5704408., 5841752., 5979096., 6116440., 4318680.,
      4460120., 4601560., 4743000., 4884440., 5025880., 5167320., 5308760.,
      5450200., 5591640., 5733080., 5874520., 6015960., 6157400., 6298840.,
      4443736., 4589272., 4734808., 4880344., 5025880., 5171416., 5316952.,
      5462488., 5608024., 5753560., 5899096., 6044632., 6190168., 6335704.,
      6481240., 4568792., 4718424., 4868056., 5017688., 5167320., 5316952.,
      5466584., 5616216., 5765848., 5915480., 6065112., 6214744., 6364376.,
      6514008., 6663640., 4693848., 4847576., 5001304., 5155032., 5308760.,
      5462488., 5616216., 5769944., 5923672., 6077400., 6231128., 6384856.,
      6538584., 6692312., 6846040., 4818904., 4976728., 5134552., 5292376.,
      5450200., 5608024., 5765848., 5923672., 6081496., 6239320., 6397144.,
      6554968., 6712792., 6870616., 7028440., 4943960., 5105880., 5267800.,
      5429720., 5591640., 5753560., 5915480., 6077400., 6239320., 6401240.,
      6563160., 6725080., 6887000., 7048920., 7210840., 5069016., 5235032.,
      5401048., 5567064., 5733080., 5899096., 6065112., 6231128., 6397144.,
      6563160., 6729176., 6895192., 7061208., 7227224., 7393240., 5194072.,
      5364184., 5534296., 5704408., 5874520., 6044632., 6214744., 6384856.,
      6554968., 6725080., 6895192., 7065304., 7235416., 7405528., 7575640.,
      5319128., 5493336., 5667544., 5841752., 6015960., 6190168., 6364376.,
      6538584., 6712792., 6887000., 7061208., 7235416., 7409624., 7583832.,
      7758040., 5444184., 5622488., 5800792., 5979096., 6157400., 6335704.,
      6514008., 6692312., 6870616., 7048920., 7227224., 7405528., 7583832.,
      7762136., 7940440., 5569240., 5751640., 5934040., 6116440., 6298840.,
      6481240., 6663640., 6846040., 7028440., 7210840., 7393240., 7575640.,
      7758040., 7940440., 8122840., 5694296., 5880792., 6067288., 6253784.,
      6440280., 6626776., 6813272., 6999768., 7186264., 7372760., 7559256.,
      7745752., 7932248., 8118744., 8305240., 5819352., 6009944., 6200536.,
      6391128., 6581720., 6772312., 6962904., 7153496., 7344088., 7534680.,
      7725272., 7915864., 8106456., 8297048., 8487640., 5944408., 6139096.,
      6333784., 6528472., 6723160., 6917848., 7112536., 7307224., 7501912.,
      7696600., 7891288., 8085976., 8280664., 8475352., 8670040.};
  const int batches = 3;
  const int m = 16;
  const int k = 16;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseTrue, M16xK16xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      1496.,    3672.,    5848.,    8024.,    10200.,   12376.,   14552.,
      16728.,   18904.,   21080.,   23256.,   25432.,   27608.,   29784.,
      31960.,   34136.,   3672.,    9944.,    16216.,   22488.,   28760.,
      35032.,   41304.,   47576.,   53848.,   60120.,   66392.,   72664.,
      78936.,   85208.,   91480.,   97752.,   5848.,    16216.,   26584.,
      36952.,   47320.,   57688.,   68056.,   78424.,   88792.,   99160.,
      109528.,  119896.,  130264.,  140632.,  151000.,  161368.,  8024.,
      22488.,   36952.,   51416.,   65880.,   80344.,   94808.,   109272.,
      123736.,  138200.,  152664.,  167128.,  181592.,  196056.,  210520.,
      224984.,  10200.,   28760.,   47320.,   65880.,   84440.,   103000.,
      121560.,  140120.,  158680.,  177240.,  195800.,  214360.,  232920.,
      251480.,  270040.,  288600.,  12376.,   35032.,   57688.,   80344.,
      103000.,  125656.,  148312.,  170968.,  193624.,  216280.,  238936.,
      261592.,  284248.,  306904.,  329560.,  352216.,  14552.,   41304.,
      68056.,   94808.,   121560.,  148312.,  175064.,  201816.,  228568.,
      255320.,  282072.,  308824.,  335576.,  362328.,  389080.,  415832.,
      16728.,   47576.,   78424.,   109272.,  140120.,  170968.,  201816.,
      232664.,  263512.,  294360.,  325208.,  356056.,  386904.,  417752.,
      448600.,  479448.,  18904.,   53848.,   88792.,   123736.,  158680.,
      193624.,  228568.,  263512.,  298456.,  333400.,  368344.,  403288.,
      438232.,  473176.,  508120.,  543064.,  21080.,   60120.,   99160.,
      138200.,  177240.,  216280.,  255320.,  294360.,  333400.,  372440.,
      411480.,  450520.,  489560.,  528600.,  567640.,  606680.,  23256.,
      66392.,   109528.,  152664.,  195800.,  238936.,  282072.,  325208.,
      368344.,  411480.,  454616.,  497752.,  540888.,  584024.,  627160.,
      670296.,  25432.,   72664.,   119896.,  167128.,  214360.,  261592.,
      308824.,  356056.,  403288.,  450520.,  497752.,  544984.,  592216.,
      639448.,  686680.,  733912.,  27608.,   78936.,   130264.,  181592.,
      232920.,  284248.,  335576.,  386904.,  438232.,  489560.,  540888.,
      592216.,  643544.,  694872.,  746200.,  797528.,  29784.,   85208.,
      140632.,  196056.,  251480.,  306904.,  362328.,  417752.,  473176.,
      528600.,  584024.,  639448.,  694872.,  750296.,  805720.,  861144.,
      31960.,   91480.,   151000.,  210520.,  270040.,  329560.,  389080.,
      448600.,  508120.,  567640.,  627160.,  686680.,  746200.,  805720.,
      865240.,  924760.,  34136.,   97752.,   161368.,  224984.,  288600.,
      352216.,  415832.,  479448.,  543064.,  606680.,  670296.,  733912.,
      797528.,  861144.,  924760.,  988376.,  1119704., 1187416., 1255128.,
      1322840., 1390552., 1458264., 1525976., 1593688., 1661400., 1729112.,
      1796824., 1864536., 1932248., 1999960., 2067672., 2135384., 1187416.,
      1259224., 1331032., 1402840., 1474648., 1546456., 1618264., 1690072.,
      1761880., 1833688., 1905496., 1977304., 2049112., 2120920., 2192728.,
      2264536., 1255128., 1331032., 1406936., 1482840., 1558744., 1634648.,
      1710552., 1786456., 1862360., 1938264., 2014168., 2090072., 2165976.,
      2241880., 2317784., 2393688., 1322840., 1402840., 1482840., 1562840.,
      1642840., 1722840., 1802840., 1882840., 1962840., 2042840., 2122840.,
      2202840., 2282840., 2362840., 2442840., 2522840., 1390552., 1474648.,
      1558744., 1642840., 1726936., 1811032., 1895128., 1979224., 2063320.,
      2147416., 2231512., 2315608., 2399704., 2483800., 2567896., 2651992.,
      1458264., 1546456., 1634648., 1722840., 1811032., 1899224., 1987416.,
      2075608., 2163800., 2251992., 2340184., 2428376., 2516568., 2604760.,
      2692952., 2781144., 1525976., 1618264., 1710552., 1802840., 1895128.,
      1987416., 2079704., 2171992., 2264280., 2356568., 2448856., 2541144.,
      2633432., 2725720., 2818008., 2910296., 1593688., 1690072., 1786456.,
      1882840., 1979224., 2075608., 2171992., 2268376., 2364760., 2461144.,
      2557528., 2653912., 2750296., 2846680., 2943064., 3039448., 1661400.,
      1761880., 1862360., 1962840., 2063320., 2163800., 2264280., 2364760.,
      2465240., 2565720., 2666200., 2766680., 2867160., 2967640., 3068120.,
      3168600., 1729112., 1833688., 1938264., 2042840., 2147416., 2251992.,
      2356568., 2461144., 2565720., 2670296., 2774872., 2879448., 2984024.,
      3088600., 3193176., 3297752., 1796824., 1905496., 2014168., 2122840.,
      2231512., 2340184., 2448856., 2557528., 2666200., 2774872., 2883544.,
      2992216., 3100888., 3209560., 3318232., 3426904., 1864536., 1977304.,
      2090072., 2202840., 2315608., 2428376., 2541144., 2653912., 2766680.,
      2879448., 2992216., 3104984., 3217752., 3330520., 3443288., 3556056.,
      1932248., 2049112., 2165976., 2282840., 2399704., 2516568., 2633432.,
      2750296., 2867160., 2984024., 3100888., 3217752., 3334616., 3451480.,
      3568344., 3685208., 1999960., 2120920., 2241880., 2362840., 2483800.,
      2604760., 2725720., 2846680., 2967640., 3088600., 3209560., 3330520.,
      3451480., 3572440., 3693400., 3814360., 2067672., 2192728., 2317784.,
      2442840., 2567896., 2692952., 2818008., 2943064., 3068120., 3193176.,
      3318232., 3443288., 3568344., 3693400., 3818456., 3943512., 2135384.,
      2264536., 2393688., 2522840., 2651992., 2781144., 2910296., 3039448.,
      3168600., 3297752., 3426904., 3556056., 3685208., 3814360., 3943512.,
      4072664., 4335064., 4468312., 4601560., 4734808., 4868056., 5001304.,
      5134552., 5267800., 5401048., 5534296., 5667544., 5800792., 5934040.,
      6067288., 6200536., 6333784., 4468312., 4605656., 4743000., 4880344.,
      5017688., 5155032., 5292376., 5429720., 5567064., 5704408., 5841752.,
      5979096., 6116440., 6253784., 6391128., 6528472., 4601560., 4743000.,
      4884440., 5025880., 5167320., 5308760., 5450200., 5591640., 5733080.,
      5874520., 6015960., 6157400., 6298840., 6440280., 6581720., 6723160.,
      4734808., 4880344., 5025880., 5171416., 5316952., 5462488., 5608024.,
      5753560., 5899096., 6044632., 6190168., 6335704., 6481240., 6626776.,
      6772312., 6917848., 4868056., 5017688., 5167320., 5316952., 5466584.,
      5616216., 5765848., 5915480., 6065112., 6214744., 6364376., 6514008.,
      6663640., 6813272., 6962904., 7112536., 5001304., 5155032., 5308760.,
      5462488., 5616216., 5769944., 5923672., 6077400., 6231128., 6384856.,
      6538584., 6692312., 6846040., 6999768., 7153496., 7307224., 5134552.,
      5292376., 5450200., 5608024., 5765848., 5923672., 6081496., 6239320.,
      6397144., 6554968., 6712792., 6870616., 7028440., 7186264., 7344088.,
      7501912., 5267800., 5429720., 5591640., 5753560., 5915480., 6077400.,
      6239320., 6401240., 6563160., 6725080., 6887000., 7048920., 7210840.,
      7372760., 7534680., 7696600., 5401048., 5567064., 5733080., 5899096.,
      6065112., 6231128., 6397144., 6563160., 6729176., 6895192., 7061208.,
      7227224., 7393240., 7559256., 7725272., 7891288., 5534296., 5704408.,
      5874520., 6044632., 6214744., 6384856., 6554968., 6725080., 6895192.,
      7065304., 7235416., 7405528., 7575640., 7745752., 7915864., 8085976.,
      5667544., 5841752., 6015960., 6190168., 6364376., 6538584., 6712792.,
      6887000., 7061208., 7235416., 7409624., 7583832., 7758040., 7932248.,
      8106456., 8280664., 5800792., 5979096., 6157400., 6335704., 6514008.,
      6692312., 6870616., 7048920., 7227224., 7405528., 7583832., 7762136.,
      7940440., 8118744., 8297048., 8475352., 5934040., 6116440., 6298840.,
      6481240., 6663640., 6846040., 7028440., 7210840., 7393240., 7575640.,
      7758040., 7940440., 8122840., 8305240., 8487640., 8670040., 6067288.,
      6253784., 6440280., 6626776., 6813272., 6999768., 7186264., 7372760.,
      7559256., 7745752., 7932248., 8118744., 8305240., 8491736., 8678232.,
      8864728., 6200536., 6391128., 6581720., 6772312., 6962904., 7153496.,
      7344088., 7534680., 7725272., 7915864., 8106456., 8297048., 8487640.,
      8678232., 8868824., 9059416., 6333784., 6528472., 6723160., 6917848.,
      7112536., 7307224., 7501912., 7696600., 7891288., 8085976., 8280664.,
      8475352., 8670040., 8864728., 9059416., 9254104.};
  const int batches = 3;
  const int m = 16;
  const int k = 16;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}